Recuperer la trace d'execution - Java - Programmation
Marsh Posté le 27-07-2006 à 12:55:30
Exception.getStackTrace()
bon amusement.
Sinon, l'aop, ça pourrait t'aider de maniere plus propre.
Marsh Posté le 08-08-2006 à 11:19:32
Si tu as juste besoin de savoir quelles méthodes ont été exécutées mais pas leur ordre d'appel tu as aussi la possibilité d'utiliser un outil de couverture de code (clover, cobertura, jcoverage...). Ils vont instrumentaliser le bytecode sans modifier le code source pour noter les lignes exécutées.
Marsh Posté le 27-07-2006 à 12:43:46
Bonjour,
Je chercherais a savoir comment on fait pour pouvoir voir quelles sont les methodes qui ont ete appellees a un moment du programme.
Si on prend cette classe tres simple :
public class dudu {
public dudu() {}
public static void methode1() {
System.out.println("je suis la methode 1" );
Exception e = new Exception();
e.printStackTrace();
}
public static void main(String argv[]) {
System.out.println("hello !" );
methode1();
Exception e = new Exception();
e.printStackTrace();
}
}
Cela va afficher :
hello !
je suis la methode 1
java.lang.Exception
at dudu.methode1(dudu.java:6)
at dudu.main(dudu.java:12)
java.lang.Exception
at dudu.main(dudu.java:13)
Je chercherais un moyen de savoir a partir de la methode "main", que la "methode1" a ete executee, et que par exemple, la "methode1" a bien appele la "methode2". La methode printStackTrace() ne suffit pas, puisque bien sur, apres l'execution de la "methode1", la "methode1" est depilee de la pile d'execution.
Je n'ai pas le droit de toucher au corps des methodes 1, 2, etc. car elles font parti d'une IUT (Implementation Under Test). C'est un systeme que je dois tester de "l'exterieur", et je dois pouvoir verifier qu'il se comporte bien, en appelant les bonnes methodes.
En fait, c'est un espece de traceur / debugger que je dois faire.
Merci d'avance pour votre aide,
piloupy