46 votes

Comment afficher la trace de la pile complète sur Eclipse ?

J'utilise Eclipse pour déboguer une application Java. Quelque part dans le code, j'obtiens une exception et la trace de la pile :

 Caused by: java.io.EOFException: The connection has been reset while reading the header
    at com.gemstone.gemfire.internal.cache.tier.sockets.Message.fetchHeader(Message.java:583)
    at com.gemstone.gemfire.internal.cache.tier.sockets.Message.readHeaderAndPayload(Message.java:599)
    at com.gemstone.gemfire.internal.cache.tier.sockets.Message.read(Message.java:542)
    at com.gemstone.gemfire.internal.cache.tier.sockets.Message.recv(Message.java:1029)
    at com.gemstone.gemfire.cache.client.internal.AbstractOp.attemptReadResponse(AbstractOp.java:158)
    at com.gemstone.gemfire.cache.client.internal.AbstractOp.attempt(AbstractOp.java:363)
    at com.gemstone.gemfire.cache.client.internal.ConnectionImpl.execute(ConnectionImpl.java:229)
    at com.gemstone.gemfire.cache.client.internal.pooling.PooledConnection.execute(PooledConnection.java:321)
    at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.executeWithPossibleReAuthentication(OpExecutorImpl.java:646)
    at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:108)
    ... 11 more

Comment obtenir la pile entière au lieu du ... 11 more ?

6voto

shashwatZing Points 911

entrez la description de l'image ici

Nous divergeons peut-être du problème réel auquel il est confronté. J'avais un problème similaire et il s'est avéré que la case de sortie de ma console Limite était cochée. Après l'avoir supprimé, j'ai pu voir la trace complète de la pile. Pas: Clic droit sur console || ctrl + clic si mac allez dans les préférences et suivez les instructions ci-dessus

2voto

Miserable Variable Points 17515

Je pense que cela signifie que le Exception été capturé et emballé dans 11 autres fois avant que le printStackTrace soit appelé.

Essayez de comprendre le résultat du programme suivant pour une meilleure compréhension :

 public class PrintStackTrace {

    public static void main(String[] args) {
        try {
            level1();
        } catch (Exception e) {
            e.printStackTrace();
        }
        try {
            level2();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    static void level2() throws Exception {
        try {
            level1();
        } catch (Exception e) {
            throw new Exception(e);
        }
    }

    static void level1() throws Exception {
        try {
            throwingMethod();
        } catch (Exception e) {
            throw new Exception(e);
        }
    }

    static void throwingMethod() throws Exception {
        throw new Exception("throwingMethod");
    }

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X