Debug Tool は、z/OS システム上で、プログラムをテストしたり、アセンブラー、C、C++、COBOL、または PL/I で作成されたプログラムの実行をテスト、モニター、 および制御したりする際に役立ちます。 アプリケーションには上記以外の言語が含まれていても構いません。Debug Tool には、逆アセンブリー表示機能があり、これにより、ユーザーはアプリケーションの中のそれらの言語部分を マシン・コード・レベルでデバッグできます。ただし、逆アセンブリー表示では、ユーザーのデバッグ能力は限定されます。表 2 と表 3 に、Debug Tool がサポートするコンパイラーとサブシステムの組み合わせをリストしています。
Debug Tool を使用すると、プログラムのデバッグを、バッチ・モードで、フルスクリーン・モード で対話式に、またはリモート・デバッグ・モードで行うことができます。
表 2 は、Debug Tool のインターフェースと、それらがサポートするコンパイラーまたはアセンブラーを詳しく示しています。
| コンパイラーまたはアセンブラー | バッチ・モード | フルスクリーン・モード | リモート・デバッグ・モード |
|---|---|---|---|
| OS/VS COBOL バージョン 1 リリース 2.4 (制限付き) | X | X | |
| VS COBOL II バージョン 1 リリース 3 およびバージョン 1 リリース 4 (TEST コンパイラー・オプションを使用してコンパイルし、言語環境プログラムのライブラリーとリンクしたプログラムの場合、制限付き) | X | X | X |
| VS COBOL II バージョン 1 リリース 3 およびバージョン 1 リリース 4 (NOTEST コンパイラー・オプションを使用してコンパイルし、非言語環境プログラムのライブラリーとリンクしたプログラムの場合、制限付き) | X | X | |
| AD/Cycle® COBOL/370 バージョン 1 リリース 1 | X | X | |
| COBOL for MVS & VM | X | X | X |
| COBOL for OS/390® & VM | X | X | X |
| Enterprise COBOL for z/OS and OS/390 | X | X | X |
| Enterprise COBOL for z/OS® | X | X | X |
| OS PL/I バージョン 2 リリース 1、バージョン 2 リリース 2、およびバージョン 2 リリース 3 (制限付き) | X | X | |
| PL/I for MVS & VM | X | X | |
| Enterprise PL/I for z/OS および OS/390 | X | X | X |
| AD/Cycle C/370™ バージョン 1 リリース 2 | X | X | |
| C/C++ for MVS/ESA バージョン 3 リリース 2 | X | X | |
| C/C++ feature of OS/390 バージョン 1 リリース 3 およびそれ以前 | X | X | |
| OS/390 バージョン 2 リリース 10 およびそれ以降の C/C++ フィーチャー | X | X | X |
| z/OS の C/C++ フィーチャー | X | X | X |
| IBM® High Level Assembler (HLASM)、バージョン 1 リリース 4、バージョン 1 リリース 5、およびバージョン 1 リリース 6 | X | X | X |
表 3 は、Debug Tool のインターフェースとそれらがサポートするサブシステムを詳しく示しています。
| サブシステム | バッチ・モード | フルスクリーン・モード | 専用端末を使用するフルスクリーン・モード | リモート・デバッグ・モード |
|---|---|---|---|---|
| TSO | X | X | X | X |
| JES バッチ | X | X | X | |
| UNIX® システム・サービス | X | X | ||
| CICS® | X1 | X | ||
| DB2® | X | X | X | X |
| DB2 ストアード・プロシージャー | X | X | ||
| IMS™ TM | X | X | ||
| IMS バッチ | X | X | X | |
| IMS BTS | X | X | X | |
| Airline Control System (ALCS) | X2 | |||
|
1 フルスクリーン・モードで CICS プログラムをデバッグする場合、単一端末モード、画面制御モード、および独立端末モードの 3 つの異なる方法を使用することができます。 2 C および C++ プログラムの場合のみ。 |
||||
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
フルスクリーン・モード、バッチ・モード、およびリモート・デバッグ・モード という用語は、Debug Tool で利用できるデバッグ・インターフェースのタイプを示します。
Debug Tool のコマンド・ファイルを使用して、実行中のバッチ・アプリケーション上でこれらのコマンドを実行させるために、一連の Debug Tool コマンドを前もって定義することができます。バッチ・アプリケーションのバッチ・デバッグでは、端末入力およびユーザー操作はできません。デバッグ・セッションの結果はログに保存され、後で閲覧することができます。
Debug Tool では、3270 装置で以下の 3 つのウィンドウにデバッグ情報が表示される対話式フルスクリーン・インターフェースが利用できます。
Debug Tool によってサポートされているすべての言語をフルスクリーン・モードでデバッグできます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
専用端末を使用するフルスクリーン・モードは、Debug Tool のフルスクリーン・モードが提供するのと同じ対話式フルスクリーン・インターフェースを提供し、これを使用して、Debug Tool のフルスクリーン・モードではデバッグできなかったタイプのプログラムをデバッグできるようになります。 例えば、 MVS/JES で実行される COBOL のバッチ・ジョブ、DB2 ストアード・プロシージャー、IMS MPP 領域で実行される IMS トランザクション、 あるいは UNIX システム・サービスで実行されるアプリケーションをデバッグできます。
専用端末を使用するフルスクリーン・モードでは、 アプリケーションをデバッグするために、2 番目の端末 (専用の端末) を開始して使用する必要があります。 サイトでは、このモードで、オプションとして Debug Tool 端末インターフェース・マネージャーを使用して、 LU 名ではなくユーザー ID を使用することによって、端末を Debug Tool に指定することができます。
システム上の専用端末を使用するフルスクリーン・モードが使用可能な端末にアクセスする方法については、システム管理者に問い合わせてください。
リモート・デバッグ・モードでは、ホスト・アプリケーションが Debug Tool を開始します。Debug Tool は、TCP/IP 接続を使用して Windows® ワークステーション上のリモート・デバッガーと通信します。
Debug Tool はリモート・デバッグと連携し、ワークステーション上のグラフィカル・ユーザー・インターフェース (GUI) を介して、バッチ・プログラムなどのホスト・プログラムのデバッグ機能をユーザーに提供します。 以下のリモート・デバッガーが使用可能です。
各リモート・デバッガーを使用する場合に Debug Tool がサポートするコマンドについて詳しくは、付録F. リモート・デバッグ・モードでのデバッグの注意点を参照してください。 各リモート・デバッガーのソフトウェア要件について詳しくは、「Program Directory for IBM Debug Tool for z/OS」を参照してください。
各製品の前提条件と機能の一覧は、その資料を参照してください。
Debug Tool Utilities は ISPF パネルのセットであり、これを使用してデバッグ・セッションを管理するのに役立つツールにアクセスできます。 このトピックは以下のツールを説明しています。
このツール (オプション 0 ではジョブ・カードと呼ばれます) は、「プログラムの準備 (Program Preparation)」(オプション 1)、「Debug Tool セットアップ・ファイル (Debug Tool Setup File)」(オプション 2)、および「バッチ・デバッグ用 JCL (JCL for Batch Debugging)」(オプション 8) で、ツールが使用する JOB カードを作成するのに役立ちます。
ツール・セットを「プログラムの準備 (Program Preparation)」(オプション 1) に設定すると、プログラムをコンパイル、アセンブル、およびリンクするのに必要なすべてのタスクを管理するのに役立ちます。 また、COBOL および CICS Command Level Conversion Aid (CCCA) を使用して、古い COBOL ソース・コードおよびコピーブックを新しいバージョンの COBOL に変換するのに役立てることもできます。 「プログラムの準備 (Program Preparation)」オプションは、使用するサイトに確立されたビルド・プロセスがない場合に非常に有効です。 以下に、「プログラムの準備 (Program Preparation)」を使用すると役立つ、特定のタスクをリストします。
何度も再始動する必要があるプログラムをデバッグする場合、セットアップ・ファイルを使用すると時間を節約できます。セットアップ・ファイルは、必要なファイルを割り振るのに必要な情報を保管し、MVS バッチまたは TSO フォアグラウンドで Debug Tool を使用した単一のジョブ・ステップを実行します。各プログラムに対し、複数のセットアップ・ファイルを作成できます。各セットアップ・ファイルには、さまざまな状況でのプログラムの始動および実行に関する情報を保管できます。セットアップ・ファイルを作成して管理するには、「Debug Tool Setup File (Debug Tool セットアップ・ファイル)」(オプション 2) を選択します。
コード・カバレッジを判別すると、テスト・ケースが改善され、プログラムをより綿密にテストできるようになります。Debug Tool Utilities には、テスト・ケースによって実行されるコード・ステートメントをレポートするツールである、Debug Tool Coverage Utility が付属しています。このレポートを使用して、以前は実行されなかったコード・ステートメントが実行されるよう、テスト・ケースを改良できます。このツールを使用するには、「コード・カバレッジ」(オプション 3) を選択します。
テスト・アプリケーションのデバッグに使用可能なプライベート IMS メッセージ領域を作成でき、そのため他の領域に干渉しません。IMSplex ユーザーの場合、アプリケーションを再リンクせずに、言語環境プログラム実行時パラメーター・テーブルを編集できます。 これらのタスクを完了するのに役立つツールは、オプション 4 の「IMS TM セットアップ」の下にあります。
この Debug Tool ロード・モジュール・アナライザーは、MVS ロード・モジュールまたはプログラム・オブジェクトを分析して、各 CSECT にオブジェクトを生成するのに使用する言語変換プログラム (コンパイラーまたはアセンブラー) を決定します。 このタスクを完了するのに役立つツールは、オプション 5 の「ロード・モジュール・アナライザー (Load Module Analyzer)」の下にあります。
この機能は、Debug Tool の言語環境プログラム・ユーザー出口で使用される TEST ランタイム・オプション・データ・セットを準備する際に役立ちます。 Debug Tool Language Environment® ユーザー出口は、この TEST ランタイム・オプション・ストリングを使用して、デバッグ・セッションを開始します。 このタスクを完了するのに役立つツールは、Debug Tool Utilities にある、オプション 6 の「Debug Tool ユーザー出口データ・セット (Debug Tool User Exit Data Set)」の下にあります。
この機能は、IBM File Manager ISPF 機能へのインターフェースを提供します。 これらのツールは、Debug Tool Utilities にあるオプション 7 の「その他の IBM 問題判別ツール」の下にあります。
バッチ・ジョブ用に JCL を変更して、ジョブが実行されると Debug Tool が開始するようにします。 このタスクを完了するのに役立つツールは、Debug Tool Utilities のオプション 8「バッチ・デバッグ用 JCL (JCL for Batch Debugging)」の下にあります。
Debug Tool Utilities は以下の方法のいずれかで始動させることができます。
EQASTART common_parameters
EX 'hlq.SEQAEXEC(EQASTART)' 'common_parameters'
お使いのシステムでどちらの方法を使用するかは、システム管理者にお問い合わせください。
common_parameters はオプションで、「Debug Tool Coverage Utility ユーザーズ・ガイドおよびメッセージ」の付録 E の説明にあるパラメーターのどれでも指定できます。複数のオプションは、ブランクで分離してください。common_parameters のいずれかを指定すると、その設定が EQASTART に記憶され、それ以降パラメーターを指定せずに EQASTART を開始する際のデフォルトとなるため注意してください。