Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


B.8

jdb


Der jdb ist ein Kommandozeilen-orientierter Debugger. Er besitzt die Möglichkeit, sich in ein bereits gestartetes Java-Programm einzuhängen sowie Remote-Debugging durchzuführen. Im Kontext von jdb wird unter dem Begriff Frame ein Stack-Frame verstanden, das heißt die bei einem Methodenaufruf auf dem Stack abgelegten Informationen wie Parameterwerte und lokale Variablen. Zur Benutzung des Debuggers muss der Java-Interpreter der zu untersuchenden Anwendung mit der Option -debug gestartet werden.

Beim Start von jdb können folgende Optionen angegeben werden: Das zu testende Programm kann entweder direkt in jdb gestratet werden (mit jdb MyApp) oder zunächst so gestartet werden, dass sich jdb nachträglich in das laufende Programm einklinken kann. Hierzu muss zunächst der Interpreter des zu testenden Programms mit folgenden Optionen gestartet werden:
  >java -debug -Xrunjdwp:transport=dt_socket,server=y,\
   suspend=n,address=1234 <MyApp>
Damit wird das Debugger-Backend als Server am Port 1234 gestartet. Lässt man address weg, wird ein zufälliger Port gewählt und angezeigt. Auf diesen Port kann sich nachfolgend jdb verbinden:
  jdb -attach 1234
Ist jdb einmal gestartet, stehen folgende Kommandos zur Verfügung: Um lokale Variablen zu überwachen, muss das Programm mit der Option -g kompiliert worden sein.

Ein Objekt, das einem Kommando als Parameter übergeben wird, kann entweder durch seinen Namen oder seine ID angegeben werden. Die ID ist eine hexadezimale Zahl, mit der ein Objekt innerhalb des jdb identifiziert wird. Die ID einer Klasse wird z. B. ausgegeben, wenn sie in den jdb geladen wird. Die ID von Klassen kann außerdem mit dem Kommando classes erfragt werden.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.