デバッグするために CICS® プログラムを準備するには、以下のタスクを行ってください。
CICS Transaction Server for z/OS® バージョン 3 リリース 1 より前のバージョンの CICS を使用する場合は、非言語環境プログラムの COBOL プログラムの準備に記載されたとおりに、非言語環境プログラムの COBOL プログラムをデバッグ用に準備できます。
Debug Tool から EQADCCXT という名前の言語環境プログラム CEEBXITA アセンブラー出口が提供され、DTCN トランザクションを使用して CICS 下でデバッグ・セッションを活動化するのに役立ちます。 次のいずれかのオプションを実行する場合は、これを使用する必要はありません。
EQADCCXT を使用するときには、次の条件に注意してください。
プログラムをリンク・エディットした後に、DTCN トランザクションを使用して、 デバッグしたいリソース ID の組み合わせを指定するプロファイルを作成します。DTCN プロファイルの作成と保管を参照してください。
DTCN トランザクションは、デバッグ・プロファイルをリポジトリーに保管します。 このリポジトリーは、CICS 一時ストレージ・キューにすることも、VSAM ファイルにすることもできます。以下に、CICS 一時ストレージ・キューを使用した場合と、VSAM ファイルを使用した場合の相違点をリストします。
Debug Tool によって、デバッグ・プロファイル VSAM ファイルが存在するかどうかに基づいて、使用されるストレージ方式が決定されます。Debug Tool によって、CICS 領域に割り振られたデバッグ・プロファイル VSAM ファイルが検出されると、リポジトリーとして VSAM ファイルを使用していると想定されます。デバッグ・プロファイル VSAM ファイルが検出されないと、リポジトリーとして CICS 一時ストレージ・キューを使用していると想定されます。 VSAM ファイルの作成および管理方法について詳しくは、「Debug Tool カスタマイズ・ガイド」を参照するか、システム・プログラマーに連絡してください。
リポジトリーが一時ストレージ・キューの場合、各プロファイルは、以下のいずれかのイベントが起こるまで、リポジトリー内に保存されます。
リポジトリーが VSAM ファイルの場合、各プロファイルは、それらが明示的に削除されるまで保存されます。 DTCN トランザクションは、ユーザー ID を使用してプロファイルを特定します。 このため、各ユーザー ID は、VSAM ファイルに保管されている 1 つのプロファイルしか持てません。
プロファイルはアクティブまたは非アクティブのいずれかです。 プロファイルがアクティブの場合、DTCN は、そのプロファイルと、プロファイルに指定されているリソースを使用するトランザクションの突き合わせを試行します。 DTCN は、トランザクションと非アクティブなプロファイルの突き合わせは試行しません。 プロファイルをアクティブまたは非アクティブにするには、「Debug Tool CICS Control - 基本メニュー (Debug Tool CICS Control - Primary Menu)」パネル (DTCN のメイン・パネル) を使用して、プロファイルをアクティブまたは非アクティブに設定し、保存します。 リポジトリーが VSAM ファイルの場合、DTCN によって端末が切断されていることが検出されると、プロファイルが非アクティブに設定されます。
DTCN プロファイルを作成して保管するには、以下のようにします。
DTCN Debug Tool CICS Control - Primary Menu S07CICPD
* VSAM storage method * 1
Select the combination of resources to debug (see Help for more information)
Terminal Id ==> 0090
Transaction Id ==>
Program Id(s) ==> ==> ==> ==>
==> ==> ==> ==>
User Id ==> CICSUSER
NetName ==>
IP Name/Address ==>
Select type and ID of debug display device
Session Type ==> MFI MFI, TCP
Port Number ==> TCP Port
Display Id ==> 0090
Generated String: TEST(ALL,'*',PROMPT,'MFI%0090:*')
Repository String: No string currently saved in repository
Profile Status: No Profile Saved. Press PF4 to save current settings.
PF1=HELP 2=GHELP 3=EXIT 4=SAVE 5=ACT/INACT 6=DEL 7=SHOW 8=ADV 9=OPT 10=CUR TRM
行 1 には、DTCN によってプロファイルが一時ストレージ・キューまたは VSAM ファイルに保存されることを示すメッセージが表示されます。一部の入力フィールドには、以下のいずれかのソースから値が入力されます。
これらのフィールドを変更しない場合は、この後の 2 つのステップをスキップし、 ステップ 4 に進むことができます。 このパネルの設定を変更する場合は、次のステップに進んでください。
DTCN Debug Tool CICS Control - Menu 2 S07CICPD Select Debug Tool options Test Option ==> TEST Test/Notest Test Level ==> ALL All/Error/None Commands File ==> * Prompt Level ==> PROMPT Preference File ==> * Any other valid Language Environment options ==> PF1=HELP 2=GHELP 3=RETURN
いくつかの入力フィールドには、フルスクリーン・モードで、この端末で実行されるタスクについて Debug Tool を始動するデフォルト値が入っています。 デフォルトを変更しない場合は、このステップの残りをスキップし、 ステップ 5 に進むことができます。 このパネルの設定を変更する場合は、このステップを続けてください。
DTCN Debug Tool CICS Control - Advanced Options S07CICPD
Select advanced program interruption criteria:
Commarea Offset ==> 0
Commarea Data ==>
Container Name ==>
Container Offset ==> 0
Container Data ==>
URM Debugging ==> NO
Default offset and data representation is decimal/character.
See Help for more information.
PF1=HELP 2=GHELP 3=RETURN
データは、COMMAREA またはコンテナーのいずれかに指定することができますが、両方に指定することはできません。このパネルを使用して、ユーザー置き換え可能モジュール (URM) をデバッグするかどうかを指定することができます。これらのフィールドについては、以下のいずれかの作業を実行します。
これで、CICS システムで実行され、前のステップで指定したリソース ID に一致するタスクが、Debug Tool を始動することになります。
ここで述べた内容に関して詳しくは、以下のトピックを参照してください。
CICS 領域でアクティブなすべての DTCN プロファイルを表示するには、以下のステップを実行します。
DTCN Debug Tool CICS Control - All Sessions S07CICPD
Overtype "_" with "D" to delete, "A" to activate, "I" to inactivate a profile.
Owner Sta Term Tran User Id NetName Applid Display Id
_ 0090 ACT 0090 TRN1 USER1 0072 S07CICPD 0090
Program(s) CIC9060 CS9060 CBLAC?3 *9361
________ ________ ________ ________
IP Name/Addr ______________________________________________
列のタイトルは、以下のように定義されています。
DTCN は、CEECOPT または CEEROPT で CICS 領域に提供される、言語環境プログラムの NOTEST オプションも読み取ります。設定ファイル名などのサブオプションは、DTCN にその他のデフォルト値を提供する NOTEST オプションによって提供できます。
ここで述べた内容に関して詳しくは、以下のトピックを参照してください。
このトピックでは、DTCN 1 次メニュー画面に表示されるフィールドについて説明します。
以下に、デバッグするプログラムまたはトランザクションの特定に役立つように指定できるリソースをリストします。
そのトランザクションにより実行されるプログラムの中で、デバッグを希望するプログラムのところで Debug Tool を開始するには、Program Id(s) フィールドでそのプログラム名を指定します。EQAOPTS 内で DTCNFORCETRANID オプションが YES に設定されている場合、このフィールドを指定する必要があります。これらのオプションの説明は「Debug Tool カスタマイズ・ガイド」を参照してください。
この非言語環境プログラムのアセンブラー・プログラムを始動する EXEC CICS LOAD コマンドの前に、別のプログラムによって Debug Tool が始動されていた場合は、以下のいずれかのコマンドを入力して、Debug Tool がこのプログラムの制御を得るようにする必要があります。
C/C++ および Enterprise PL/I プログラム (コンパイル単位名として完全修飾のデータ・セット名を使用する言語) を指定する場合、そのコンパイル単位名の正しい部分をこのプログラム ID フィールドに指定する必要があります。以下の規則を使用して、コンパイル単位名のどの部分を指定する必要があるかを決定します。
「プログラム ID (Program Id(s))」フィールドに CICS プログラムを指定する操作は、AT ENTRY コマンドを使用してブレークポイントを設定する操作と類似しており、Debug Tool はこのプログラムに入るたびに止まります。
Debug Tool が既に実行されており、分離デバッグ・ファイルが見つからない場合、Debug Tool は「プログラム ID (Program Id(s))」フィールドで指定された CICS プログラムでは停止しません。 この CICS プログラムで停止するには、AT APPEARANCE または AT ENTRY コマンドを使用してください。
EQAOPTS 内で DTCNFORCEPROGID オプションが YES に設定されている場合、このフィールドを指定する必要があります。これらのオプションの説明は「Debug Tool カスタマイズ・ガイド」を参照してください。
以下に、実行するデバッグ・セッションのタイプを示すのに使用できるフィールドをリストします。
「セッション・タイプ」フィールドに「TCP」と入力した場合、リモート・デバッガーを実行しているワークステーションの IP アドレスまたはホスト名を決定します。 以下のステップを実行して、「表示 ID (Display Id)」フィールドの値を変更します。
「セッション・タイプ」フィールドに「MFI」と入力した場合、以下の規則に従って、DTCN によって「表示 ID (Display Id)」フィールドに値が入力されます。
以下のいずれかの端末モードを使用して、3270 端末に Debug Tool を表示することができます。
以下に、デバッグ・セッションに使用する TEST ランタイム・オプション、その他のランタイム・オプション、コマンド・ファイル、および設定ファイルの指定に使用できるフィールドをリストします。
以下に、デバッグするトランザクションおよびプログラムの特定に役立つ、COMMAREA またはコンテナーを介して渡されるデータの指定に使用できるフィールドの説明を記載します。
CADP は、CICS Transaction Server for z/OS バージョン 2 リリース 3 以降で提供される対話式トランザクションです。 CADP は永続的デバッグ・プロファイルの維持に役立ちます。 このプロファイルには、デバッグ対象のタスクを識別する CICS リソース名のパターンが含まれています。 CICS プログラムが開始されると、CICS は、CADP プロファイルで指定されているリソースと一致するリソースを持つプロファイルを検出するために、実行中のリソースのマッチングを試行します。 このパターン・マッチングで、CICS は、 最も一致したプロファイル (アクティブ・タスクに一致するリソース ID の数が最も多いプロファイル) を選択します。
CADP を使用する前に、以下の作業を実行したことを確認してください。
CADP ユーティリティー・トランザクションの使用方法の手順については、「CICS Supplied Transactions」を参照してください。ユーザー置き換え可能モジュール (URM) のデバッグを行う予定の場合、「その他の言語環境プログラム・オプション」フィールドに「ENVAR("INCLUDEURM=YES")」を指定してください。
ここで述べた内容に関して詳しくは、以下のトピックを参照してください。
Debug Tool を開始して、言語環境プログラムのランタイム環境下で実行されないプログラムをデバッグできます。これには、既存のデバッグ・プロファイル保守トランザクション DTCN および CADP を使用します。DTCN および CICS Transaction Server for z/OS バージョン 2 リリース 3 より前のバージョンの CICS を使用する必要があります。
CICS の非言語環境プログラムのプログラムをデバッグするには、Debug Tool の非言語環境プログラム出口をあらかじめ開始しておく必要があります。
CICS で実行される非言語環境プログラムのアセンブラー・プログラムまたは非言語環境プログラムの COBOL プログラムをデバッグするには、プログラムを開始する前に、必要な Debug Tool グローバル・ユーザー出口を開始する必要があります。 Debug Tool には、非言語環境アプリケーションのデバッグに役立つ グローバル・ユーザー出口 (XPCFTCH、XEIIN、XEIOUT、XPCTA、および XPCHAIR) が用意されています。 これらの出口は、DTCX トランザクション (Debug Tool に付属) を使用するか、 または CICS 領域の始動時に実行される PLTPI プログラムを使用して開始できます。 DTCXXO は、CICS での Debug Tool 用の非言語環境出口を活動化します。 DTCXXF は、CICS での Debug Tool 用の非言語環境出口を非活動化します。
ここで述べた内容に関して詳しくは、以下のトピックを参照してください。
「DTCN Options」パネル (PF9) または「CADP Create/Modify Debugging Profile」パネルを使用してデバッグ・プロファイルを定義するときには、言語環境プログラムで実行されないプログラムをデバッグする際のデバッグ・セッションで有効になる限定セットのランタイム・オプションを引き渡すことができます。 以下のランタイム・オプションを渡すことができます。
ここで述べた内容に関して詳しくは、以下のトピックを参照してください。