Ist es möglich, den IntelliJ IDEA-Debugger an einen laufenden Java-Prozess anzuhängen? Wenn ja, wie?
debugging
intellij-idea
Marco
quelle
quelle
Antworten:
Ja! So richten Sie es ein.
Konfiguration ausführen
Erstellen Sie eine Remote-Run-Konfiguration:
JVM-Optionen
Die obige Konfiguration enthält drei schreibgeschützte Felder. Dies sind Optionen, die die JVM anweisen, Port 5005 für das Remote-Debugging zu öffnen, wenn Sie Ihre Anwendung ausführen. Fügen Sie die entsprechende Option zu den JVM-Optionen der Anwendung hinzu, die Sie debuggen. Eine Möglichkeit, dies zu tun, wäre folgende:
Es hängt jedoch davon ab, wie Sie Ihre Anwendung ausführen. Wenn Sie nicht sicher sind, welche der drei für Sie zutrifft, beginnen Sie mit der ersten und gehen Sie die Liste durch, bis Sie diejenige finden, die funktioniert.
Sie können zu ändern
suspend=n
,suspend=y
um Ihre Anwendung zu zwingen, zu warten, bis Sie eine Verbindung zu IntelliJ herstellen, bevor sie gestartet wird. Dies ist hilfreich, wenn der Haltepunkt, den Sie erreichen möchten, beim Start der Anwendung auftritt.Debuggen
Starten Sie Ihre Anwendung wie gewohnt, wählen Sie dann in IntelliJ die neue Konfiguration aus und klicken Sie auf "Debuggen".
IntelliJ stellt eine Verbindung zur JVM her und initiiert das Remote-Debugging.
Sie können die Anwendung jetzt debuggen, indem Sie Ihrem Code bei Bedarf Haltepunkte hinzufügen. Die Ausgabe der Anwendung wird weiterhin dort angezeigt, wo sie zuvor ausgeführt wurde, aber Ihre Haltepunkte werden in IntelliJ angezeigt.
quelle
Remote
ist es in der Community Edition nicht verfügbar? Ich benutze die kostenpflichtige Version. Kann jemand mit der Community Edition bestätigen?System.out.println
in IntelliJ beim Remote-Debugging abrufen können ?Es ist möglich, aber Sie müssen einige JVM-Flags hinzufügen, wenn Sie Ihre Anwendung starten.
Sie müssen die Remote-Debug-Konfiguration hinzufügen: Konfiguration bearbeiten -> Remote.
Dann finden Sie im angezeigten Dialogfenster Parameter, die Sie zur Programmausführung hinzufügen müssen, wie:
Wenn Ihre Anwendung gestartet wird, können Sie Ihren Debugger anhängen. Wenn Ihre Anwendung warten soll, bis der Debugger verbunden ist, ändern Sie einfach das Suspend-Flag in y (
suspend=y
)quelle
in AndroidStudio oder Idee
"VM-Optionen" hinzufügen Konfiguration
“-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005”
"Adresse speichern "Geben Sie "Port" wie in Schritt 1 "Adresse" an.
quelle
Vergessen Sie auch nicht, dass Sie in der App JAVA_OPTS das Flag "-Xdebug" hinzufügen müssen, wenn Sie im Debug-Modus eine Verbindung herstellen möchten.
quelle
Außerdem verwende ich die Tomcat-GUI-App (in meinem Fall: C: \ tomcat \ bin \ Tomcat9w.bin).
Gehen Sie zur Registerkarte Java :
Legen Sie Ihre Java-Eigenschaften fest, zum Beispiel:
Java virtuelle Maschine
Java virtuelle Maschine
Java-Optionen :
Java 9-Optionen :
quelle