Rational Developer for System z バージョン 7.6

CICS プログラムの準備

デバッグするために CICS® プログラムを準備するには、以下のタスクを行ってください。

  1. アセンブラー、C、C++、COBOL、または PL/I のプログラム準備作業を行います。以下のセクションにその作業の記載があります。

    CICS Transaction Server for z/OS® バージョン 3 リリース 1 より前のバージョンの CICS を使用する場合は、非言語環境プログラムの COBOL プログラムの準備に記載されたとおりに、非言語環境プログラムの COBOL プログラムをデバッグ用に準備できます。

  2. お客様のサイトで CADP または DTCN デバッグ用プロファイルを使用するかどうかを決定し、選択したそのデバッグ用プロファイルを使用するようにシステムが構成済みかどうかを検証します。
  3. プログラムへの EQADCCXT のリンク・エディットに記載された説明を検討して、ご使用のプログラムの中に EQADCCXT をリンク・エディットする必要があるかどうか判断します。
  4. 以下のいずれかの作業を行います。

プログラムへの EQADCCXT のリンク・エディット

Debug Tool から EQADCCXT という名前の言語環境プログラム CEEBXITA アセンブラー出口が提供され、DTCN トランザクションを使用して CICS 下でデバッグ・セッションを活動化するのに役立ちます。 次のいずれかのオプションを実行する場合は、これを使用する必要はありません。

EQADCCXT を使用するときには、次の条件に注意してください。

プログラムをリンク・エディットした後に、DTCN トランザクションを使用して、 デバッグしたいリソース ID の組み合わせを指定するプロファイルを作成します。DTCN プロファイルの作成と保管を参照してください。

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 プロファイルを作成して保管するには、以下のようにします。

  1. CICS 端末にログオンして、トランザクション ID DTCN を入力します。DTCN トランザクションは、以下に示す DTCN 主画面の「Debug Tool CICS Control - Primary Menu」を表示します。
     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 に進むことができます。 このパネルの設定を変更する場合は、次のステップに進んでください。

  2. デバッグするトランザクションまたはプログラムを特定するリソース ID の組み合わせを指定します。 これらのフィールドについては、以下のいずれかの作業を実行します。
  3. 実行するデバッグ・セッションのタイプと、そのデバッグ・セッションを表示する装置の ID を指定します。 これらのフィールドについては、以下のいずれかの作業を実行します。
  4. デバッグ・セッションに使用する TEST ランタイム・オプション、その他のランタイム・オプション、コマンド・ファイル、および設定ファイルを、PF9 を押して指定し、2 次オプション・メニューを表示します。このメニューは以下の例のようになります。
     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 に進むことができます。 このパネルの設定を変更する場合は、このステップを続けてください。

  5. PF3 を押して DTCN 主画面に戻ります。
  6. COMMAREA またはコンテナーを介して渡されるデータを使用して、デバッグするトランザクションおよびプログラムの指定を行う場合は、PF8 を押します。「拡張オプション」パネルが表示されます。このパネルは、以下の例のようになります。
     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) をデバッグするかどうかを指定することができます。これらのフィールドについては、以下のいずれかの作業を実行します。
  7. PF3 を押して DTCN 主画面に戻ります。
  8. PF4 を押してプロファイルを保存します。DTCN は、DTCN パネルで入力したデータの検査を行います。DTCN がエラーを発見すると、エラー・フィールドにカーソルが置かれ、メッセージが表示されます。状況依存ヘルプ (PF1) を使用して、入力の 何が間違っているかを見つけられます。
  9. PF5 を押して、状況をアクティブから非アクティブに変更するか、 または非アクティブからアクティブに変更します。 プロファイルがとりうる状態には次の 3 つがあります。
    No profile saved
    この端末についてプロファイルがまだ作成されていません。
    Active
    パターン・マッチングについてプロファイルはアクティブです。
    Inactive
    このプロファイルについてパターン・マッチングはスキップされます。
  10. プロファイルがリポジトリーに保存されると、DTCN は、保存済み TEST ストリングを表示フィールド「Repository String」に表示します。保存済みプロファイルに問題がなければ、PF3 を押して DTCN を終了します。

これで、CICS システムで実行され、前のステップで指定したリソース ID に一致するタスクが、Debug Tool を始動することになります。

ここで述べた内容に関して詳しくは、以下のトピックを参照してください。

アクティブな DTCN プロファイル・リストの表示と DTCN プロファイルの管理

CICS 領域でアクティブなすべての DTCN プロファイルを表示するには、以下のステップを実行します。

  1. DTCN トランザクションを始動させていない場合は、CICS 端末にログオンして、トランザクション ID DTCN を入力します。DTCN トランザクションは、DTCN 主画面の「Debug Tool CICS Control - Primary Menu」を表示します。
  2. PF7 を押します。以下のように「Debug Tool CICS Control - All Sessions」画面が表示されます。
      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       ______________________________________________ 

    列のタイトルは、以下のように定義されています。

    Owner
    DTCN を使用してプロファイルを作成した端末の ID。
    Sta
    プロファイルがアクティブ (ACT) または非アクティブ (INA) であることを示します。
    Term
    DTCN 主画面の「Terminal Id」フィールドに入力した値。
    Tran
    DTCN 主画面の「Transaction Id」フィールドに入力した値。
    User Id
    DTCN 主画面の「User Id」フィールドに入力した値。
    Netname
    DTCN 主画面の「Netname」フィールドに入力した値。
    Applid
    このプロファイルに関連付けられるアプリケーション ID。
    Display Id
    Debug Tool 情報のターゲット宛先を識別します。
    Program(s)
    DTCN 主画面の「プログラム ID (Program Id(s))」フィールドに入力した値。
    IP Name/Addr
    DTCN 主画面の「IP Name/Address」フィールドに入力した値。

    DTCN は、CEECOPT または CEEROPT で CICS 領域に提供される、言語環境プログラムの NOTEST オプションも読み取ります。設定ファイル名などのサブオプションは、DTCN にその他のデフォルト値を提供する NOTEST オプションによって提供できます。

  3. プロファイルを削除するには、削除するプロファイルの横にある下線文字 (_) にカーソルを移動します。"D" と入力して Enter を押します。
  4. プロファイルを非アクティブにするには、非アクティブにするプロファイルの横にある下線文字 (_) にカーソルを移動します。"I" と入力して Enter を押します。
  5. プロファイルをアクティブにするには、アクティブにするプロファイルの横にある下線文字 (_) にカーソルを移動します。"A" と入力して Enter を押します。
  6. このパネルを閉じて、DTCN 1 次メニューに戻るには、PF3 を押します。

ここで述べた内容に関して詳しくは、以下のトピックを参照してください。

DTCN 1 次メニュー画面のフィールドの説明

このトピックでは、DTCN 1 次メニュー画面に表示されるフィールドについて説明します。

以下に、デバッグするプログラムまたはトランザクションの特定に役立つように指定できるリソースをリストします。

Terminal Id
デバッグしたいトランザクションに関連付けられている CICS 端末 ID を指定します。デフォルトで、DTCN は以下のいずれかの規則に従って ID を設定します。 EQAOPTS 内で DTCNFORCETERMID オプションが YES に設定されている場合は、端末 ID を指定する必要があります。これらのオプションの説明は「Debug Tool カスタマイズ・ガイド」を参照してください。
Transaction Id
デバッグ対象の CICS トランザクションを指定します。他のリソースを指定せずにトランザクション ID を指定すると、Debug Tool は以下のどの状況が発生してもそのたびに開始します。

そのトランザクションにより実行されるプログラムの中で、デバッグを希望するプログラムのところで Debug Tool を開始するには、Program Id(s) フィールドでそのプログラム名を指定します。EQAOPTS 内で DTCNFORCETRANID オプションが YES に設定されている場合、このフィールドを指定する必要があります。これらのオプションの説明は「Debug Tool カスタマイズ・ガイド」を参照してください。

Program Id(s)
デバッグする必要のあるプログラム (複数指定も可能) を指定します。以下のどのプログラムでも指定可能です。

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 カスタマイズ・ガイド」を参照してください。

User Id
デバッグしたいトランザクションに関連付けられているユーザー ID を指定します。次のリストは、このフィールドに何を入力すればよいかを判断するのに役立ちます。 EQAOPTS 内で DTCNFORCEUSERID オプションが YES に設定されている場合は、ユーザー ID を指定する必要があります。これらのオプションの説明は「Debug Tool カスタマイズ・ガイド」を参照してください。
NetName
デバッグ・セッションの実行に使用する CICS 端末または CICS システムの 4 文字の名前を指定します。 この名前は、VTAM® が CICS 端末またはシステムの識別に使用するものです。EQAOPTS 内で DTCNFORCENETNAME オプションが YES に設定されている場合、このフィールドを指定する必要があります。これらのオプションの説明は「Debug Tool カスタマイズ・ガイド」を参照してください。
IP Name/Address
CICS アプリケーションに関連付けられるクライアント IP 名または IP アドレス。 IP 名はすべて大文字として扱われます。 ワイルドカード (* および ?) を使用できます。 対象のクライアントに対して開始されるタスクごとに、Debug Tool が呼び出されます。 EQAOPTS 内で DTCNFORCEIP オプションが YES に設定されている場合、 このフィールドを指定する必要があります。 このオプションについては、「Debug Tool カスタマイズ・ガイド」を参照してください。

以下に、実行するデバッグ・セッションのタイプを示すのに使用できるフィールドをリストします。

Session Type
次のいずれかのオプションを選択します。
MFI
Debug Tool が 3270 型の端末で初期設定することを示します。
TCP
TCP/IP およびリモート・デバッガーを使用してワークステーションから Debug Tool と対話するように指示します。
Port Number
ワークステーションでデバッグ・セッションを listen する TCP/IP ポート番号を指定します。デフォルトでは、以下の製品がポート 8001 を使用します。
Display Id
Debug Tool のターゲット宛先を識別します。

セッション・タイプ」フィールドに「TCP」と入力した場合、リモート・デバッガーを実行しているワークステーションの IP アドレスまたはホスト名を決定します。 以下のステップを実行して、「表示 ID (Display Id)」フィールドの値を変更します。

  1. 表示 ID (Display Id)」フィールドにカーソルを置きます。
  2. リモート・デバッガーを実行しているワークステーションの IP アドレスまたはホスト名を入力します。
  3. PF4 を押して、新しい値でプロファイルを保存します。

セッション・タイプ」フィールドに「MFI」と入力した場合、以下の規則に従って、DTCN によって「表示 ID (Display Id)」フィールドに値が入力されます。

以下のいずれかの端末モードを使用して、3270 端末に Debug Tool を表示することができます。

DTCN メニュー 2 画面のフィールドの説明

以下に、デバッグ・セッションに使用する TEST ランタイム・オプション、その他のランタイム・オプション、コマンド・ファイル、および設定ファイルの指定に使用できるフィールドをリストします。

Test Option
TEST/NOTEST は、ユーザー・アプリケーションの初期設定中に、Debug Tool が 制御を得る条件を指定します。
Test Level
ALL/ERROR/NONE は、Debug Tool が制御を得るのはどのような条件の場合かを指定します。
Command File
これを実行するための基本コマンド・ファイルを指定する、有効な完全修飾データ・セット名。
注:
データ・セットの名前を引用符 (") またはアポストロフィ (') で囲まないでください。
Prompt Level
Debug Tool が言語環境プログラムの初期設定時に始動するかどうかを指定します。
Preference File
使用する設定ファイルを指定する、有効な完全修飾データ・セット名。 データ・セットの名前を引用符 (") またはアポストロフィ (') で囲まないでください。
Any other valid Language Environment options
STACK オプションを除き、サイトがオーバーライド可能として定義した任意の言語環境プログラム・オプションを変更できます。 言語環境プログラム・オプションの追加情報については、「z/OS Language Environment プログラミング・リファレンス」を参照するか、 または CICS システム・プログラマーに相談してください。

DTCN 拡張オプション画面のフィールドの説明

以下に、デバッグするトランザクションおよびプログラムの特定に役立つ、COMMAREA またはコンテナーを介して渡されるデータの指定に使用できるフィールドの説明を記載します。

Commarea オフセット (Commarea offset)
呼び出し時にプログラムへ渡される commarea 内のデータのオフセットを指定します。 オフセットは、10 進形式 (例えば、13) または 16 進形式 (例えば、X'D') で指定できます。 データを 16 進形式で指定する場合、偶数の 16 進数字を指定する必要があります。
Commarea データ (Commarea data)
呼び出し時にプログラムへ渡される commarea 内のデータを指定します。 データは、文字フォーマット (例えば、"ABC") または 16 進形式 (例えば、X'C1C2C3') で指定できます。
コンテナー名
呼び出し時にプログラムへ渡される現行チャネル内のコンテナー名を指定します。 コンテナー名には、大/小文字の区別があります。
コンテナー・オフセット (Container offset)
呼び出し時に、現行チャネルでプログラムへ渡される指定されたコンテナー内のデータのオフセットを指定します。 オフセットは、10 進形式 (例えば、13) または 16 進形式 (例えば、X'D') で指定できます。
コンテナー・データ (Container data)
呼び出し時に、現行チャネルでプログラムへ渡される指定されたコンテナー内のデータを指定します。 データは、文字フォーマット (例えば、"ABC") または 16 進形式 (例えば、X'C1C2C3') で指定できます。データを 16 進形式で指定する場合、偶数の 16 進数字を指定する必要があります。
URM デバッグ (URM debugging)
Debug Tool によって、デバッグ・セッションの一部として URM のデバッグも組み込まれるようにするかどうかを指定します。 次のいずれかのオプションを選択します。
YES
Debug Tool によって、通常の Debug Tool デバッグ基準に合致する URM がデバッグされます。
NO
Debug Tool によって、デバッグ・セッションから URM が除外されます。

CADP を使用したデバッグ・プロファイルの作成および保管

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")」を指定してください。

ここで述べた内容に関して詳しくは、以下のトピックを参照してください。

CICS での非言語環境プログラムに対する Debug Tool の始動

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 用の非言語環境出口を非活動化します。

ここで述べた内容に関して詳しくは、以下のトピックを参照してください。

CICS で非言語環境プログラムのプログラムのランタイム・パラメーターを Debug Tool に渡す方法

DTCN Options」パネル (PF9) または「CADP Create/Modify Debugging Profile」パネルを使用してデバッグ・プロファイルを定義するときには、言語環境プログラムで実行されないプログラムをデバッグする際のデバッグ・セッションで有効になる限定セットのランタイム・オプションを引き渡すことができます。 以下のランタイム・オプションを渡すことができます。

ここで述べた内容に関して詳しくは、以下のトピックを参照してください。


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)