Die Java Virtual Machine (JVM) in CICS unterstützt die Java™ Platform Debugger Architecture
(JPDA). Diese ist das Standardverfahren zum Debugging, das in der Java 2 Platform bereitgestellt wird. Diese Architektur stellt eine Gruppe von APIs zur Verfügung, die die Zuordnung eines Remote Debuggers zu einer Java Virtual Machine ermöglichen.
Informationen zu diesem Vorgang
Sie können für das Debugging einer in CICS ausgeführten Java-Anwendung jedes Tool verwenden, das JDPA unterstützt. Sie können beispielsweise den Java Debugger (JDB) verwenden, der im Lieferumfang des Java-SDK unter z/OS enthalten ist. Wenn Sie einen JPDA-Remote Debugger zuordnen möchten, müssen Sie einige Optionen im JVM-Profil festlegen.
IBM stellt Überwachungs- und Diagnosetools für Java zur Verfügung. Dies umfasst auch das Health
Center. IBM Health Center ist in der Workbench von IBM Support Assistant verfügbar. Diese kostenlosen Tools können von IBM heruntergeladen werden. Eine entsprechende Beschreibung finden Sie in der Anleitung Getting Started.
Vorgehensweise
- Fügen Sie dem JVM-Profil die Debugging-Option hinzu, um die Java Virtual Machine im Debugmodus zu starten:
-agentlib:jdwp=transport=dt_socket,server=y,address=Port
Wählen Sie einen freien Port für die Fernverbindung mit dem Debugger aus. Wenn das JVM-Profil von mehreren JVM-Servern gemeinsam genutzt wird, können Sie für das Debugging ein anderes JVM-Profil verwenden.
- Ordnen Sie der Java Virtual Machine den Debugger zu. Wenn während der Verbindung ein Fehler auftritt, da beispielsweise der Portwert falsch ist, werden Nachrichten in die Datenströme der JVM-Standardausgabe und der JVM-Standard-Fehlerausgabe geschrieben.
- Überprüfen Sie mit dem Debugger den Anfangsstatus der Java Virtual Machine.
Überprüfen Sie beispielsweise die Identität der gestarteten Threads und der geladenen Systemklassen. Die Java Virtual Machine setzt die Ausführung aus; die Java-Anwendung wurde nicht gestartet.
- Setzen Sie an einem geeigneten Punkt in der Java-Anwendung einen Unterbrechungspunkt, indem Sie den vollständigen Java-Klassennamen und die Zeilennummer des Quellcodes angeben. Da die Anwendungsklasse in der Regel noch nicht geladen wurde, gibt der Debugger an, dass die Aktivierung dieses Unterbrechungspunkts verzögert wird, bis die Klasse geladen wurde. Lassen Sie die Java Virtual Machine durch den CICS-Middleware-Code bis zum Unterbrechungspunkt der Anwendung laufen. Dort wird die Ausführung erneut ausgesetzt.
- Überprüfen Sie die geladenen Klassen und Variablen und legen Sie weitere Unterbrechungspunkte fest, um den Code nach Bedarf schrittweise zu durchlaufen.
- Beenden Sie die Debugsitzung. Sie können die Anwendung bis zum Abschluss ausführen lassen. Die Verbindung zwischen dem Debugger und der CICS-Java Virtual Machine wird dann geschlossen. Manche Debugger unterstützen die erzwungene Beendigung der Java Virtual Machine, was zu Abbruch- und Fehlernachrichten in der CICS-Systemkonsole führt.