web-dev-qa-db-fra.com

débogage de fourmis dans Eclipse

J'aimerais connaître les capacités de débogage d'ANT utilisant Eclipse. Fondamentalement J'ai un script de génération ANT écrit par un collègue et je voulais parcourir Au travers de chaque cible pour voir quelles sont les diverses tâches appelées par des êtres .

21
Jony

Vous pouvez le faire dans Eclipse en procédant comme suit:

  1. Assurez-vous d’ouvrir votre fichier de construction dans L’éditeur ANT (clic droit sur le fichier de construction -> Ouvrir avec -> éditeur Ant.).
  2. Double-cliquez dans la marge gauche de Votre fichier de construction où vous voulez Point d'arrêt.
  3. Ouvrez la vue Ant (Fenêtre -> Afficher la vue -> Ant).
  4. Si le fichier de construction ne figure pas dans la vue , Vous pouvez simplement l'ajouter.
  5. Une fois ajouté, cliquez avec le bouton droit de la souris sur la cible ant. Que vous souhaitez exécuter et sélectionnez Déboguer en tant que -> Ant build.
  6. La perspective Débogage devrait s'ouvrir Et le processus devrait s'arrêter à votre point d'arrêt Où vous pourrez parcourir .
  7. Parfois, il est nécessaire de définir les arguments au moment du débogage. Vous pouvez le définir en sélectionnant: Debug as -> Ant build. Et puis besoin de sélectionner les arguments. Et puis les valeurs peuvent être entrées comme suit: -Dprop.name = valeur de la propriété
31
Ross

Comme ant est simplement une application Java, vous pouvez simplement ajouter une configuration de débogage (type Application Java) à Eclipse. Voir Exécuter Ant via Java pour savoir comment appeler Ant comme s'il s'agissait d'une application Java. Je suppose que vous savez comment déboguer une application Java dans Eclipse, ce qui devrait vous permettre de continuer. Sinon, demandez et je vais développer.

4
Mark Peters

Avec les grands fichiers Ant ou les grands projets Java, lorsque plusieurs fichiers Ant s'appelant, je trouve qu'un graphique de dépendance est très utile. J'ai utilisé Grand à cette fin.

Bien sûr, cela n’aidera pas beaucoup si vous voulez déboguer la séquence d’instructions dans une cible donnée.

4
rsarro

Créez un script antdebug.sh qui définit la variable d'environnement ANT_OPTSavant de commencer ant

#!/bin/bash
set -e
export ANT_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=2607"
# now execute ant
exec ant "$@"

Ensuite, vous pouvez y connecter à distance en utilisant votre IDE. Veuillez noter le suspend=y, il suspendra l'exécution jusqu'à ce que vous soyez attaché.

3
reto

Avant de vous plonger dans les éléments internes de Ant, il peut être intéressant d'essayer de lancer le script avec l'option -d (debug) et d'observer le résultat. En supposant que vous souhaitiez comprendre comment le script Ant particulier fonctionne (ou ne fonctionne pas) et non Ant lui-même.

Si Ant est votre domaine d’intérêt, les réponses ci-dessus sont la direction à suivre.

2
Miro A.

ajoute la balise xml ci-dessous à ant build.xml après l'init cible

<javac srcdir="${src.Java.dir}" destdir="${target.build.dir}" includeantruntime="true" source="${source}" target="${target}" debug="true" debuglevel="lines,vars,source" classpathref="main.classpath" fork="true" memoryinitialsize="512m" memorymaximumsize="512m" />

si le javac est déjà là, assurez-vous d’ajouter debug="true" debuglevel="lines,vars,source" pour avoir une session de débogage interactive.

0
tk_