CICS® における JVM は、Java™ 2 Platform で提供される標準デバッグ・メカニズムである Java Platform Debugger Architecture (JPDA) をサポートします。このアーキテクチャーは、リモート・デバッガーと JVM との接続を可能にする 1 組の API を提供します。
このタスクについて
JDPA をサポートする任意のツールを使用して、CICS で実行される Java アプリケーションをデバッグできます。例えば、z/OS® 上の Java SDK に付属の Java Debugger (JDB) を使用できます。JPDA リモート・デバッガーを接続するには、JVM プロファイルでいくつかのオプションを設定する必要があります。
IBM では、Health Center など、Java 用のモニターと診断のツールを提供しています。IBM Health Center は、IBM Support Assistant Workbench で使用できます。これらの無料のツールは、Getting Started guide に記載されているとおりに IBM からダウンロードできます。
手順
- 以下のように、デバッグ・オプションを JVM プロファイルに追加して、JVM をデバッグ・モードで開始します。
-agentlib:jdwp=transport=dt_socket,server=y,address=port
リモートでデバッガーに接続するための空きポートを選択します。 JVM プロファイルが複数の JVM サーバーで共用される場合、別の JVM プロファイルをデバッグに使用できます。
- デバッガーを JVM に接続します。 接続中にエラーが発生する場合 (ポート値が間違っている場合など)、JVM 標準出力ストリームと標準エラー・ストリームにメッセージが書き込まれます。
- デバッガーを使用して、JVM の初期状態を確認します。
例えば、開始されるスレッドの ID やロードされるシステム・クラスを確認してください。 JVM は実行を中断します。Java アプリケーションは開始していません。
- 完全 Java クラス名とソース・コード行番号を指定して、Java アプリケーションの適切なポイントでブレークポイントを設定します。
アプリケーション・クラスは通常まだロードされていないため、デバッガーはクラスがロードされるまでこのブレークポイントの活動化が延期されることを示します。 JVM を CICS ミドルウェア・コードを使用してアプリケーションのブレークポイントまで実行させてください。このポイントで JVM は再度実行を中断します。
- ロードされたクラスと変数を調べ、追加のブレークポイントを設定して、必要に応じてコードをステップスルーします。
- デバッグ・セッションを終了します。アプリケーションを最後まで実行させることができます。その時点でデバッガーと CICS JVM 間の接続はクローズします。一部のデバッガーは、JVM の強制終了をサポートします。その結果、異常終了し、CICS システム・コンソールにエラー・メッセージが表示されます。