Falls man Socket als Transport verwenden muss, sollte man die Art des Transports im entsprechenden JVM-Argument mit dem Namen dt_socket angeben. Falls sich Debugger und Debuggee auf demselben Windows-Rechner befinden, kann man auch den Shared-Memory-Connector mit dem Namen dt_shmem verwenden. Will man seine Anwendung mit einem JPDA-konformen Debugger debuggen, sollte man diesen einfach mit aktiviertem Debug-Modus ausführen und zusätzliche Parameter wie Art des Transports, Hostnamen und Port-Nummern sowie weitere Informationen übergeben. Alle JPDA- und Debugging-Parameter müssen beim Start der Anwendung als Argumente der Java VM übergeben werden.
Um Debugging zu aktivieren, sollte der JDWP-Agent zum Debuggen in die JVM der Anwendung geladen werden. Seit Java 5.0 kann man dies mit der Option -agentlib:jdwp erreichen. Bei älteren Releases als 5.0 werden die Optionen -Xdebug und -Xrunjdwp verwendet. Die 5.0-Implementierung unterstützt außerdem die Optionen -Xdebug und -Xrunjdwp, aber die neuere Option –agentlib:jdwp sollte bevorzugt verwendet werden, da der JDWP-Agent in 5.0 das JVMTI-Interface statt des älteren JVMDI-Interfaces als Verbinndung zur VM verwendet. Es ist empfehlenswert, dem jeweiligen Parameter (-agentlib:jdwp in Java 5.0 oder -Xrunjdwp vor Java 5.0) weitere Suboptionen mitzugeben. Die möglichen Suboptionen sind bei beiden Parametern identisch.
Die Suboptionen werden wie folgt angegeben:
-agentlib:jdwp=<name1>[=<value1>],<name2>[=<value2>]...
oder
-Xrunjdwp:<name1>[=<value1>],<name2>[=<value2>]...
Die folgenden Optionen stehen zur Verfügung:
Hier ein paar Beispiele für Kommandozeilen:
-agentlib:jdwp=transport=dt_socket,server=y,address=8000
Wartet auf eine Socket-Verbindung auf Port 8000. Hält die VM an, bis die Klasse main geladen wurde (suspend=y ist Defaulteinstellung). Sobald die Verbindung mit der Debugger-Anwendung hergestellt ist, kann sie einen JDWP-Befehl senden, um die VM wieder zu starten.
-agentlib:jdwp=transport=dt_shmem,server=y,suspend=n
Wählt eine verfügbare Transport-Adresse für Shared Memory und gibt diese an stdout aus. Wartet auf eine Shared-Memory-Verbindung unter dieser Adresse. Erlaubt die Ausführung der VM, ehe die Verbindung zur Debugger-Anwendung hergestellt ist.
-agentlib:jdwp=transport=dt_socket,address=myhost:8000
Stellt die Verbindung zu einer laufenden Debugger-Anwendung per Socket auf dem Host myhost an Port 8000 her. Hält diese VM an, bis die Klasse main geladen wurde.
Die Hintermänner haben es unter anderem auf Daten von Facebook-Geschäftskonten abgesehen. Opfer werden über angebliche…
Bis 2027 werden 90 Prozent der Unternehmen eine Hybrid-Cloud-Strategie umsetzen.
Apple belegt in der Statistik von Counterpoint die ersten drei Plätze. Samsungs Galaxy S24 schafft…
Kontinuierliche Content Produktion und Markenaufbau sind essentieller Pfeiler von langfristigen Unternehmenserfolg. Das ist mittlerweile auch…
KI-Funktionen beschleunigen die Erholung des PC-Markts. Der Nettogewinn legt um 44 Prozent zu, der Umsatz…
Googles App-Entwickler-Kit dient der Tarnung des schädlichen Codes. Der Sicherheitsanbieter Jamf hält die Schadsoftware für…