Ich weiß, es gibt einige JAVA_OPTS
zu setzen, um ein Java-Programm aus der Ferne zu debuggen.
Was sind sie und was bedeuten sie?
Ich weiß, es gibt einige JAVA_OPTS
zu setzen, um ein Java-Programm aus der Ferne zu debuggen.
Was sind sie und was bedeuten sie?
Hier ist die einfachste Lösung.
Bei der Verwendung von Maven sind eine Reihe von speziellen Umgebungskonfigurationen erforderlich. Wenn Sie also Ihr Programm von Maven aus starten, führen Sie einfach die mvnDebug
Befehl anstelle von mvn
wird Ihre Anwendung mit konfiguriertem Remote-Debugging gestartet. Jetzt können Sie einfach einen Debugger an Port 8000 anschließen.
Es wird sich für Sie um alle Umweltprobleme kümmern.
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=PORT_NUMBER
Hier verwenden wir einfach einen Socket Attaching Connector, der standardmäßig aktiviert ist, wenn der dt_socket-Transport konfiguriert ist und die VM im Server-Debugging-Modus läuft.
Weitere Einzelheiten finden Sie unter : https://stackify.com/java-remote-debugging/
Wenn Sie Java 9 oder höher verwenden, müssen Sie zum Debuggen aus der Ferne (was auch der Fall ist, wenn Sie Docker lokal verwenden) Folgendes angeben --debug *:($port)
. Denn ab Java 9 --debug ($port)
erlaubt nur die Fehlersuche vor Ort, nicht aus der Ferne .
Sie können also in docker-compose einen Befehl wie command: -- /opt/jboss/wildfly/bin/standalone.sh --debug *:8787
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.