42 votes

Comment déboguer le code Java lors de l'utilisation du script ANT dans Eclipse

J'ai une classe java et j'ai besoin de la déboguer (mettre des points d'arrêt et continuer à utiliser F6). J'utilise ANT script pour initier, générer, déployer et exécuter le code. J'utilise:

 <javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true" debuglevel="lines,vars,source">

..........

</javac>
 

Mais lorsque je place le point d'arrêt dans une ligne de ma classe foo.java et que je lance le script ant (la partie run, cliquez avec le bouton droit de la souris sur Exécuter -> Debug As -> Ant Build), Eclipse ne s'arrête pas à cette ligne. code.

Qu'est-ce que je manque?!

51voto

Samuel Lampa Points 1261

(N'a pas été en mesure de commenter la réponse donnée, alors je dois faire une autre réponse)

J'ai réalisé que lors du lancement de Ant à partir d'Eclipse, vous devrez ajouter fork = "true" à la tâche <java> . En outre, je ne savais pas comment écrire des jvmargs imbriqués, voici donc un exemple:

 <java classname="..." fork="true">
  <jvmarg value="-Xdebug" />
  <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432" />
  ...
</java>
 

31voto

jkff Points 2939

Dans la tâche <java> ant, vous devez ajouter deux paramètres JVM ( <jvmarg> IIRC) pour activer le débogage:

  -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5432
 

Cela lancera le programme java avec le débogage activé et le programme sera prêt à accepter les connexions du débogueur sur le port 5432. Vous devez ensuite utiliser la fonction de débogage à distance de votre IDE et lui demander de se connecter au port 5432.

3voto

Mehdi Points 162

C'est comme ça que je l'ai fait fonctionner pour moi (juste pour commenter pour référence future).

2voto

zawhtut Points 3423

C'est pour aider les gens qui se demandent comment déboguer l'application web qui utilisent ant à construire et à déployer. C'est assez fréquent dans les applications héritées. Si le projet a été lancé en tant que "Dynamic Web Project" comme le début, en suivant les étapes et même la Fourmi n'est pas nécessaire.

Définir le point d'arrêt dans votre code.

Window -> Show View -> Others -> Servers

Ajouter votre serveur JBoss ou Tomcat par exemple.

Cliquez du bouton droit sur le serveur et choisissez 'Debug'.

Assurez-vous que debug="true" est définie dans le fichier ant.

2voto

abeym Points 1
 set ANT_OPTS=%ANT_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432
 

dans Eclipse

 Toolbar >> Run >> Debug Configurations >> + >> 
 

Donnez les valeurs:

 Name: Debug_Ant
Project: active-eclipse-project
Host:localhost
Port:5432
 

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