Java アプリケーションのデバッグ

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 からダウンロードできます。

手順

  1. 以下のように、デバッグ・オプションを JVM プロファイルに追加して、JVM をデバッグ・モードで開始します。
    -agentlib:jdwp=transport=dt_socket,server=y,address=port
    リモートでデバッガーに接続するための空きポートを選択します。 JVM プロファイルが複数の JVM サーバーで共用される場合、別の JVM プロファイルをデバッグに使用できます。
  2. デバッガーを JVM に接続します。 接続中にエラーが発生する場合 (ポート値が間違っている場合など)、JVM 標準出力ストリームと標準エラー・ストリームにメッセージが書き込まれます。
  3. デバッガーを使用して、JVM の初期状態を確認します。 例えば、開始されるスレッドの ID やロードされるシステム・クラスを確認してください。 JVM は実行を中断します。Java アプリケーションは開始していません。
  4. 完全 Java クラス名とソース・コード行番号を指定して、Java アプリケーションの適切なポイントでブレークポイントを設定します。 アプリケーション・クラスは通常まだロードされていないため、デバッガーはクラスがロードされるまでこのブレークポイントの活動化が延期されることを示します。 JVM を CICS ミドルウェア・コードを使用してアプリケーションのブレークポイントまで実行させてください。このポイントで JVM は再度実行を中断します。
  5. ロードされたクラスと変数を調べ、追加のブレークポイントを設定して、必要に応じてコードをステップスルーします。
  6. デバッグ・セッションを終了します。アプリケーションを最後まで実行させることができます。その時点でデバッガーと CICS JVM 間の接続はクローズします。一部のデバッガーは、JVM の強制終了をサポートします。その結果、異常終了し、CICS システム・コンソールにエラー・メッセージが表示されます。