webentwicklung-frage-antwort-db.com.de

Debuggen von Java-Code bei Verwendung des ANT-Skripts in Eclipse

Ich habe eine Java-Klasse und muss sie debuggen (Haltepunkte setzen und weiterhin F6 verwenden). Ich verwende ein ANT-Skript zum Initialisieren, Erstellen, Bereitstellen und Ausführen des Codes. Ich benutze:

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

..........

</javac>

Wenn ich jedoch den Haltepunkt in einer Zeile in meiner foo.Java-Klasse platziere und das Ant-Skript ausführen (Ausführen, Rechtsklick auf Ausführen -> Debug As -> Ant Build), bleibt Eclipse nicht bei dieser Zeile von Code.

Was fehlt mir ?!

40
zengr

In der Task <Java> ant sollten Sie zwei jvm-Parameter (<jvmarg> IIRC) hinzufügen, um das Debugging zu aktivieren: 

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

Dadurch wird das Java-Programm mit aktiviertem Debugging gestartet, und das Programm ist bereit, Debugger-Verbindungen an Port 5432 zu akzeptieren. Dann sollten Sie die Remote-Debugging-Funktion Ihrer IDE verwenden und die Verbindung zu Port 5432 herstellen.

30
jkff

(Konnte die gegebene Antwort nicht kommentieren, muss also noch eine Antwort geben)

Ich habe festgestellt, dass Sie beim Starten von Ant von Eclipse der Aufgabe <Java> Fork = "true" hinzufügen müssen. Außerdem war mir zunächst nicht klar, wie man geschachtelte Jvmargs schreibt, daher folgt hier ein Beispiel:

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

In Eclipse:

Toolbar > External Tool Configurations... > (select your existing ANT build or create new) > JRE tab

In "VM-Argumente" hinzufügen:

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

Nochmal Toolbar > Debug > Debug Configurations... > Remote Java Application > New

Name: Debug Ant
Project: <Select your project where debug files are kept>
Host: localhost
Port: 8787

Jetzt in " Externe Werkzeugkonfigurationen " starten " ANT Task " (welche Wartet, bis der Remote-Debugger Java Application Debugger) eine Verbindung hergestellt hat. Starten Sie dann " Debug Ant " über " Debug "Symbolleistensymbol.

4
KrishPrabakar

So habe ich es für mich zum Laufen gebracht (Nur zur späteren Bezugnahme kommentieren).

3
Mehdi
set ANT_OPTS=%ANT_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432

in Eclipse

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

Gib die Werte an:

Name: Debug_Ant
Project: active-Eclipse-project
Host:localhost
Port:5432
2
abeym

Dies soll den Personen helfen, die sich fragen, wie sie die Webanwendung debuggen können, die ant zum Erstellen und Bereitstellen verwendet. Dies ist bei älteren Anwendungen recht häufig. Wenn das Projekt als "Dynamic Web Project" gestartet wurde, sind die folgenden Schritte und sogar Ant nicht erforderlich. 

Legen Sie den Haltepunkt in Ihrem Code fest.

Window -> Show View -> Others -> Servers

Fügen Sie beispielsweise Ihren Server JBoss oder Tomcat hinzu.

Klicken Sie mit der rechten Maustaste auf den Server und wählen Sie 'Debug'.

Stellen Sie sicher, dass debug = "true" in der Ant-Build-Datei festgelegt ist.

2
zawhtut

Schritte:

1) Konfigurieren Sie den Remote-Java-Debugger mit dem lokalen Host als Namen, die Portadresse als 8000 (oder wie die Portadresse Ihres Systems lautet).

2) Erstellen Sie eine Batchdatei, und bewahren Sie diese im Ordner "Bin" Ihres Tomcat auf (dieser Schritt ist erforderlich, wenn Sie das Remote-Debuggen von Servern auf demselben System durchführen möchten).

in Batch-Datei sollten Sie diese Zeile beibehalten: 

set JPDA_ADDRESS = 8000

setze JPDA_TRANSPORT = dt_socket

catalina.bat jpda start

behalten Sie danach einen Haltepunkt in Ihrem Java-Code und debuggen Sie diesen Remote-Debugger. es wird klappen.

Glückliche Codierung !!

1
Soumya Sarkar

Auch ich war mit diesem Problem konfrontiert und habe folgende Schritte zur Lösung des Problems ausgeführt.

  1. Fügen Sie die folgenden Zeilen in die ANT-Datei ein

  2. Gehen Sie zu den Debugging-Konfigurationen-> Remote-Java-Anwendung-> Neue Konfigurationsdatei mit Projektname, Port = 5432 erstellen und Host ist localhost, und speichern Sie sie.

  3. Führen Sie nun Ihre build.xml im Debugging-Modus aus. In der Konsole sollte dann Folgendes angezeigt werden: "Auf Transport dt_socket an Adresse 5432 warten"

  4. Führen Sie nun die Debug-Konfigurationsdatei aus, die Sie konfiguriert haben. Jetzt wird Ihr Selenium-Code im Debug-Modus ausgeführt.

Hoffe das hilft.

Wenn Sie immer noch Probleme haben, lassen Sie es mich wissen, damit ich Ihnen dabei helfen kann.

Vielen Dank

0
user2346563