Debugging in Java-Anwendungen

Zum Debuggen von Java™ -Programmen können Sie die JDB-Anwendung (Java Debugger) oder andere Debugger verwenden, die über die JPDA (Java Platform Debugger Architecture) kommunizieren, die vom SDK für das Betriebssystem bereitgestellt wird.

Informationen zur Problemdiagnose mit Java finden Sie unter Fehlerbehebung und Unterstützung.

Hinweis: Auf AIX® -Systemen enthält das SDK ein Plug-in für den AIX -Debugger DBX. Das DBX-Plug-in wird nicht unterstützt, obwohl es zum Lieferumfang des SDK gehört. IBM® akzeptiert jedoch Fehlerberichte.

Java-Debugger

Die JDB ist im SDKenthalten. Dieser Debugger wird über den Befehl jdb gestartet. Er wird der JVM über die JPDA zugeordnet.

Gehen Sie zum Debuggen einer Java-Anwendung wie folgt vor:
  1. Starten Sie die JVM unter Angabe folgender Optionen:
    • Auf Windows-Systemen:
      java -agentlib:jdwp=transport=dt_shmem,server=y,address=<port> <class>
    • Auf anderen Systemen:
      java -agentlib:jdwp=transport=dt_socket,server=y,address=<port> <class>

    Die JVM wird gestartet, aber die Ausführung wird ausgesetzt, bevor die Java-Anwendung gestartet wird.

  2. Sie können den Debugger in einer separaten Sitzung über folgenden Befehl der JVM zuordnen:
    jdb -attach <port>
    Der Debugger wird an die JVM angehängt und Sie können jetzt eine Reihe von Befehlen absetzen, um die Java-Anwendung zu untersuchen und zu steuern. Geben Sie beispielsweise run ein, damit die Java-Anwendung gestartet werden kann.
Gehen Sie wie folgt vor, um Java-Anwendungen auf fernen Workstations zu debuggen:
Die JPDA verwendet ein TCP/IP-Socket für die Verbindung mit der fernen JVM.
  1. Starten Sie die JVM unter Angabe folgender Optionen:
    • Auf Windows-Systemen:
      java -agentlib:jdwp=transport=dt_shmem,server=y,address=<port> <class>
    • Auf anderen Systemen:
      java -agentlib:jdwp=transport=dt_socket,server=y,address=<port> <class>

    Die JVM wird gestartet, aber die Ausführung wird ausgesetzt, bevor die Java-Anwendung gestartet wird.

  2. Ordnen Sie den Debugger mit folgendem Befehl der fernen JVM zu:
    • Auf Windows-Systemen:
      jdb -connect com.sun.jdi.SocketAttach:hostname=<host>,port=<port>
    • Auf anderen Systemen:
      jdb -attach <host>:<port>
Weitere Informationen:
  • Wenn Sie weitere Informationen zu JDB-Optionen aufrufen wollen, geben Sie Folgendes ein: jdb -help
  • Wenn Sie weitere Informationen zu JDB-Befehlen aufrufen wollen:
    1. Geben Sie jdb ein.
    2. Geben Sie an der jdb-Eingabeaufforderung help ein.
  • Weitere Informationen zum JDB und zur JPDA sowie deren Verwendung finden Sie hier: