Rational Developer for System z、バージョン 7.6.1

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 トランザクションを使用して、 デバッグしたいリソースの組み合わせを指定するプロファイルを作成します。DTCN プロファイルの作成と保管を参照してください。

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 - Primary Menu (Debug Tool CICS 制御 - 1 次メニュー)」パネル (メイン 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  ==>                                                          
      LoadMod::>CU(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. デバッグするトランザクションまたはプログラムを識別するリソースの組み合わせを指定します。 これらのフィールドについては、以下のいずれかの作業を実行します。
  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 つの状態が考えられます。
    プロファイルが保存されていない
    この端末には、まだプロファイルが作成されていません。
    アクティブ
    プロファイルはパターン・マッチングに対してアクティブです。
    非アクティブ
    このプロファイルのパターン・マッチングはスキップされます。
  10. プロファイルがリポジトリーに保存されると、DTCN は、保存済み TEST ストリングを表示フィールド「Repository String」に表示します。保存済みプロファイルに問題がなければ、PF3 を押して DTCN を終了します。

これで、CICS システムで実行され、前のステップで指定したリソースに一致するタスクが、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                         
    
                LoadMod::>CU(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 情報のターゲット宛先を識別します。
    LoadMod(s)
    DTCN 主画面の「LoadMod(s)」フィールドに入力した値。
    CU(s)
    DTCN 主画面の「CU(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 カスタマイズ・ガイド」を参照してください。

LoadMod::>CU(s)
デバッグを行うロード・モジュールの名前およびコンパイル単位 (CU) の名前で構成される、1 つ以上のリソース・ペアを指定します。 以下のどの名前でも指定可能です。
LoadMod
デバッグする必要のあるロード・モジュールの名前。このロード・モジュールは、以下の要件に準拠していなければなりません。
  • Debug Tool の初期化の場合、ロード・モジュールは、言語環境プログラムのエンクレーブとして、または CICS リンク・レベル上で呼び出される場合は、どの CICS ロード・モジュールでもかまいません。 これには以下のタイプのロード・モジュールがあります。
    • トランザクションにおける最初のロード・モジュール。
    • CICS LINK または XCTL で呼び出すロード・モジュール。
  • EXEC CICS LOAD コマンドでロードされる非言語環境プログラム・アセンブラー・ロード・モジュール。
CU
デバッグするコンパイル単位 (CU) の名前。 この CU は、以下の要件に準拠していなければなりません。
  • 言語環境プログラムのエンクレーブとして、または CICS リンク・レベル上で呼び出される場合は、すべての CICS CU。 これには以下のタイプの CU があります。
    • トランザクションにおける最初の CU
    • CICS LINK または XCTL で呼び出す CU
  • 静的または動的 CALL で呼び出されるすべての COBOL CU。たとえその CU が、複合のロード・モジュール内でネストされた CU またはサブプログラムであっても構いません。
  • (APAR PK03093 の PTF が適用された) 言語環境プログラム バージョン 1 リリース 6 以降で実行する、(APAR PK03264 の PTF が適用された) すべての Enterprise PL/I for z/OS バージョン 3 リリース 4 以降の CU。静的または動的 CALL で呼び出される、複合ロード・モジュール内のネストされた CU またはサブプログラムでも構いません。
  • EXEC CICS LOAD コマンドでロードされる非言語環境プログラム・アセンブラー・ CU。

使用上の注意:

User Id
デバッグしたいトランザクションに関連付けられているユーザー ID を指定します。次のリストは、このフィールドに何を入力すればよいかを判断するのに役立ちます。 EQAOPTS 内で DTCNFORCEUSERID オプションが YES に設定されている場合は、ユーザー ID を指定する必要があります。これらのオプションの説明は「Debug Tool カスタマイズ・ガイド」を参照してください。
NetName
デバッグ・セッションの実行に使用する CICS 端末または CICS システムの 4 文字の名前を指定します。 この名前は、VTAM® が CICS 端末またはシステムの識別に使用するものです。EQAOPTS 内で DTCNFORCENETNAME オプションが YES に設定されている場合、このフィールドを指定する必要があります。これらのオプションの説明は「Debug Tool カスタマイズ・ガイド」を参照してください。
IP Name/Address
クライアントの IP 名または IP アドレスで、CICS アプリケーションに関連付けられています。 すべての 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 言語環境プログラム Options
STACK オプションを除き、サイトがオーバーライド可能として定義した任意の言語環境プログラム・オプションを変更できます。 言語環境プログラム・オプションの追加情報については、「z/OS 言語環境プログラム プログラミング・リファレンス」を参照するか、 または CICS システム・プログラマーに相談してください。

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

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

Commarea offset
呼び出し時にプログラムへ渡される commarea 内のデータのオフセットを指定します。 オフセットは、10 進形式 (例えば、13) または 16 進形式 (例えば、X'D') で指定できます。 データを 16 進形式で指定する場合、偶数の 16 進数字を指定する必要があります。
Commarea data
呼び出し時にプログラムへ渡される commarea 内のデータを指定します。 データは、文字フォーマット (例えば、"ABC") または 16 進形式 (例えば、X'C1C2C3') で指定できます。
Container name
呼び出し時にプログラムへ渡される現行チャネル内のコンテナー名を指定します。 コンテナー名では、大/小文字が区別されます。
Container offset
呼び出し時に、現行チャネルでプログラムへ渡される指定されたコンテナー内のデータのオフセットを指定します。 オフセットは、10 進形式 (例えば、13) または 16 進形式 (例えば、X'D') で指定できます。
Container data
呼び出し時に、現行チャネルでプログラムへ渡される指定されたコンテナー内のデータを指定します。 データは、文字フォーマット (例えば、"ABC") または 16 進形式 (例えば、X'C1C2C3') で指定できます。データを 16 進形式で指定する場合、偶数の 16 進数字を指定する必要があります。
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 は、アクティブ・タスクに一致するリソースの数が最高であり、一致率が一番高いプロファイルを選択します。

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)