2011-07-21 4 views
1

Est-il possible d'obtenir des valeurs variables incluses dans une trace de pile? Je viens de commencer à utiliser bugsense les e-mails du STACKTRACE à moi et je me demande s'il y a une certaine façon dans mon code pour mettre les valeurs des variables dans la sortie stacktracetrace de pile et valeurs de variable

Répondre

0

pas par défaut, vous devez le faire par vous-même:

La trace de la pile ne vous parlera que de la ligne de code concernée (où le Exception est lancé) et de la pile d'exécution.

Mais rien ne vous empêche de prendre le Exception et d'inclure des informations de débogage dans le message:

try { 
    ...the code... 
} 
catch (Throwable t) { 
    // Here, we catch any Throwable (Exception but also Error such as OutOfMemory 
    // or NoClassDefFound), which is *absolutely not suitable* for 
    // anything else than debugging. 
    // You can (should, actually) make this catch statement more specific 
    // depending of the Exception or Error you are facing 

    // Dump your variables here: 
    final String message = "myVar=" + myVar; 

    // The statement below rethrows the original Throwable and adds your 
    // own message to it 
    throw new RuntimeException(message, t); 
} 

Ou pour mettre un point d'arrêt dans la déclaration catch { } pour vérifier l'état de votre application à ce stade, mais Si j'ai bien compris, cela pourrait ne pas s'appliquer dans le cas que vous décrivez.

(Soit dit en passant, je vous suggère d'ajouter la balise « Java » à votre question. De cette façon, il sera également visible par la communauté Java de StackOverflow)

+0

grâce fait exactement ce que je voulais. A noté votre conseil re tag aussi – ron