Da meine RCP-Eclipse-Anwendung fehlschlägt, wenn sie außerhalb von Eclipse ausgeführt wird, aber in Eclipse ausgeführt wird, versuche ich Eclipse zu verwenden, um meine Anwendung remote zu debuggen, da sie außerhalb der Eclipse-Umgebung ausgeführt wird.Wie kann ich meine rcp-Anwendung remote debuggen?
Ich verwende 32 Bit Eclipse 3.6.1 auf einem 64-Bit-Windows 7-Rechner. Ich benutze 32 Bit Java 1.6 Update 37. Ich benutze den Eclipse Product Export Wizard, um die App zu paketieren, und am Ende habe ich eine eclipse.exe. Ich habe eine Remote-Debug-Konfiguration erstellt und für die Verwendung von Port 8765 (Zufallszahl) festgelegt. Für Debugging-Zwecke, beginne ich die App von der Kommandozeile mit dieser Zeile:
eclipse.exe -Xdebug -Xrunjdwp: transport = dt_socket, Adresse = 127.0.0.1: 8765
Je nachdem, ob ich bin Befestigung oder das Hören über mein Eclipse-Debugger, ich werde die Option Server = [y/n] zu dieser Befehlszeile hinzufügen, aber es scheint keinen Unterschied zu machen.
Für die Konfiguration Verbindungstyp habe ich sowohl Standard (Socket Listen) und Standard (Socket Attach) versucht. Wenn ich Socket Listen ausprobiere, beginnt mein Debugger zu horchen - "Warten auf vm, um eine Verbindung über Port 8765 herzustellen", aber wenn ich meine App über die Befehlszeile starte, startet die App gut, aber der Debugger wird nicht angehängt.
Wenn ich versuche, Sockel zu befestigen, beginne ich die App zunächst über die Befehlszeile, dann, wenn ich versuche, Eclipse zu befestigen verwenden, erhalte ich die Meldung „Fehler beim Remote-VM. Der Anschluss an eine Verbindung verweigert“
I‘ Ich habe alle verschiedenen Kombinationen von Adresse versucht: localhost, 127.0.0.1, und meine lokale IP-Adresse. Ich bekomme jedes Mal dasselbe Ergebnis.
Danke für jede Hilfe!
Wow, es funktioniert endlich! Vielen dank für Deine Hilfe; Ich hätte diese Technik einfach aufgegeben. – JasonK
Ich benötigte auch die zusätzlichen Server und suspendiere Argumente, die auf Ankuras Blog zu sehen sind: -vmargs -Xdebug -Xrunjdwp: transport = dt_socket, Server = y, suspend = n, Adresse = 1044 – Eric