2016-07-17 13 views
3

I-Code-Ausführung mit den typischen Argumenten beginnen:Anwendung druckt „Hören für den Transport dt_socket unter der Adresse: 5005“ und ist halt nicht

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 myPackage.myMainClassname 

Anwendung startet, druckt „Hören für den Transport dt_socket bei der Adresse: 5005“ und ... geht weiter! Ohne irgendeinen Versuch auf die Verbindung zu warten. Ich kann mich während der Ausführung mit ihm verbinden und das Debuggen selbst funktioniert. Warum wartet die Anwendung nicht auf die Verbindung vom Debugger?

Sieht aus wie etwas in meiner Konfiguration gebrochen, aber ich kann die Ursache nicht herausgefunden. Ich habe verschiedene Möglichkeiten ausprobiert, um Debug-Einstellungen zu spezifizieren, verschiedene Ports, laufen als Administrator, schalte Firewalls aus - nichts hilft.

+1

Was ist dieses Argument: 'suspend = n'? – paulsm4

Antwort

5

Sie müssen suspend=y angeben, wenn Sie es für die Verbindung warten soll. Dein Debugging funktioniert. Wenn Sie versuchen, eine Verbindung herzustellen, werden Sie in der Lage sein. Wahrscheinlich sind Sie nur daran gewöhnt, suspend=y zu verwenden, der blockiert, bis die Verbindung hergestellt ist.

Das Verhalten wird erwartet, wenn suspend=n.

1

Wählen Sie das Menü "Run/Edit Configurations". Überprüfen Sie: "Konfigurationen bearbeiten" Dialog erscheint. Klicken Sie auf "+" und wählen Sie "Remote" aus der Liste. Prüfen: Neue Konfiguration mit dem Namen "Unnamed" erscheint unter der Kategorie "Remote" . Ändern Sie den Konfigurationsnamen in etwas sinnvolleres, wie "Remote Debug". Ändern Sie keine anderen Parameter, klicken Sie einfach auf "OK".

Run Web-Anwendung unter dem Debugger

starten gradle Aufgabe "appStartDebug" unter IDEA IntelliJ. Achtung: Versuchen Sie nicht, diese Aufgabe unter dem Debugger zu starten. Führen Sie es im normalen Modus aus. Überprüfen: Sie sollten "Ausgabe für Transport dt_socket unter Adresse: 5005" im Ausgabefenster "Ausführen" sehen. Wählen Sie das Menü "Run/Run ...", wählen Sie "Remote Debug" Konfiguration, wählen Sie "Debug" Befehl. Überprüfen Sie: Sie sollten "Verbunden mit der Ziel-VM, Adresse: 'localhost: 5005', Transport: 'Socket'" in "Debug" Ausgabefenster.

Jetzt Ihre Web-Anwendung unter dem Debugger ausgeführt wird: Sie können Breakpoints setzen, beobachten/kontrollieren Variablen etc.etc.