Debug Tool ランタイム・オプション
このトピックでは、Debug Tool の操作の制御に使用できるランタイム・オプションについて説明します。
「Debug Tool ユーザーズ・ガイド」の『表 10』に、TEST ランタイム・オプションの指定に使用できるほとんどの方法が説明されています。「Debug Tool ユーザーズ・ガイド」のこの表と『デバッグ・セッションの計画 』トピックの情報を使用して、ユーザーのサイトに最適に機能する方法を選択します。
標準の言語環境プログラム・ランタイム・オプションを使用する方法もあり、対応する言語環境プログラム・オプションと構文およびセマンティクスが同じである Debug Tool キーワードを使用する方法もあります。すべてのケースで、デフォルト値が受け入れ可能である場合は、これらのオプションを省略できます。
言語環境プログラム・プログラムのランタイム・オプションを指定すると、これらは言語環境プログラムによって処理され、次の規則が適用されます。
- ほかの言語環境プログラム・ランタイム・オプションとどのような順序でも混用することができる。
- ブランクまたはコンマで区切る。
- すべてのランタイム・オプションを、スラッシュ (「/」) でユーザー・プログラム・オプションと区切る。
- これらのオプションの配置 (スラッシュの前または後) は、メインルーチンのプログラム言語によって異なる。
z/OS® バッチまたは TSO で EQANMDBG を使用することで、非言語環境プログラム・プログラムのランタイム・オプションを指定すると、このオプションは Debug Tool によって処理され、次の規則が適用されます。
- デバッグ対象のプログラムの名前を最初のパラメーターとして指定しなければならない。これは定位置パラメーターです。
- デバッグ対象のプログラム名の後に続けて、ランタイム・オプションを任意の順序で指定する。
- すべてのオプションをコンマで区切る。
- ランタイム・オプションを、スラッシュ (「/」) でユーザー・プログラム・オプションと区切る。ランタイム・オプションを指定しない場合は、プログラム名の後に続けてスラッシュを付ける。
- スラッシュの後に、ユーザー・プログラムに対する任意のパラメーターを指定する。
- ユーザー・プログラム・パラメーターが必要でない場合、スラッシュは省略できる。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- 「Debug Tool ユーザーズ・ガイド」の『デバッグ・セッションの計画』
- 関連する参照
- z/OS 言語環境プログラム プログラミング・リファレンス
非言語環境プログラムの定位置パラメーター
言語環境プログラムで実行されない MVS™ バッチ
または TSO プログラムをデバッグするために EQANMDBG を使用して Debug Tool を始動する場合、
最初の定位置パラメーターは、デバッグ対象のプログラムの名前でなければなりません。
この名前の直後に、以下のオプションのいずれかを付ける必要があります。
- この章の以下の節で説明されている Debug Tool キーワード・ランタイム・オプションの 1 つ以上、およびその後に続けてスラッシュ (「/」) と任意のユーザー・プログラム・パラメーター
- スラッシュ (「/」) と任意のユーザー・プログラム・パラメーター
ユーザー・プログラム・パラメーターが不要である場合、スラッシュはオプションです。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- 「Debug Tool ユーザーズ・ガイド」の『デバッグ・セッションの計画』
COUNTRY ランタイム・オプション
COUNTRY オプションを使用して、Debug Tool が使用する国別コードを指定します。
デフォルトは常に US です。
このオプションの構文は次のとおりです。
- country_code
- 有効な国別コードで、以下のいずれかです。
- US
- 米国
- JP
- 日本
NATLANG ランタイム・オプション
NATLANG オプションを使用して、Debug Tool が使用する目的の各国語を指定します。
この指定でメッセージなどの Debug Tool 出力の表示に使用する言語が決定されます。NATLANG を指定しない場合は、インストール・デフォルトが使用されます。
このオプションの構文は次のとおりです。
- language_Id
- 有効な各国語 ID で、以下のいずれかです。
- ENU
- 英語
- UEN
- 大文字の英語
- JPN
- 日本語
- KOR
- 韓国語
NATLANG を JPN または KOR に設定し、フルスクリーン・モードを使用している場合、SET DBCS ON コマンドを入力して、Debug Tool が正しい形式でメッセージを表示できるようにします。
TEST ランタイム・オプション
TEST ランタイム・オプションは、プログラムの制御を Debug Tool に与えます。
このトピックでは、TEST ランタイム・オプションとそのサブオプションについて説明します。TEST ランタイム・オプションのサブオプションは、どのようにして、いつ、どこで Debug Tool がプログラムの制御を得るかを制御します。TEST ランタイム・オプションの指定方法の説明については、「Debug Tool ユーザーズ・ガイド」の『デバッグ・セッションの計画 』を参照してください。
TEST ランタイム・オプション構文
TEST ランタイム・オプションでは任意のサブオプションを結合できますが、TEST 構文で指定されている順序でのみ可能です。「デフォルト」と示してあるオプションまたはサブオプションは、IBM 提供のデフォルトですが、システム管理者によってインストール時に変更されている場合もあります。
このオプションの構文は次のとおりです。
注:
- リモート・デバッグ・モードを指定します。
以下のリストは、それぞれのオプションおよびサブオプションにより行われるアクションについて説明しています。
- NOTEST
- プログラム初期設定時に Debug Tool が開始されないことを指定します。ただし、Debug Tool の開始は、CEETEST、PLITEST、または
__ctest() 関数を使用すれば可能です。このような場合、NOTEST で指定されたサブオプションが、Debug Tool の開始時に使用されます。
- TEST
- 指定されたサブオプションに従って、Debug Tool に制御が渡されることを指定します。指定された TEST サブオプションは、Debug Tool が CEETEST、PLITEST
または __ctest() を使用して開始された場合に使用されます。
CALL CEETEST (または同等のエントリー) を使用して Debug Tool を開始した場合、
高水準非言語環境のプログラムをデバッグしたり、Debug Tool を開始したプログラムから戻ったあとで
高水準プログラムで生じる非言語環境のイベントをインターセプトしたりすることはできません。
test_level:
- ALL (またはブランク)
- アテンション割り込み、ユーザー・プログラムの終了 (正常終了あるいは ABEND により)、あるいは重大度が 1 以上のプログラム条件か言語環境プログラム条件が発生した場合、発生した条件タイプにブレークポイントが定義されているか否かを問わず、Debug Tool に制御を渡すことを指定します。
言語環境プログラムによって FINISH、CEE066、または CEE067 スレッド終了条件が検出される場合、EQAOPTS THREADTERMCOND コマンドを指定することにより、Debug Tool がこの条件で停止しないようにすることができます。ユーザーまたはシステム管理者は、EQAOPTS ロード・モジュールを作成するか、実行時にこのコマンドを提供することにより、このコマンドを指定することができます。
条件が発生した場合にその条件によるブレークポイントが存在していると、ブレークポイントで指定されているコマンドが実行されます。条件が発生した場合にその条件のためのブレークポイントが存在しないか、またはアテンション割り込みが起こった場合には、Debug Tool は以下のことを行います。
- フルスクリーン・モードの場合、Debug Tool は、コマンド・ファイル (存在していて、使用可能な場合) からコマンドを読み取るか、あるいはプロンプトを出してコマンドの入力を要求します。
- バッチ・モードの場合、Debug Tool はコマンド・ファイルからコマンドを読み取ります。使用可能なコマンド・ファイルがない場合、プログラムは割り込まれずに実行されます。
- ERROR
- 以下の条件が発生した場合に限り、ユーザー定義のブレークポイントが
なくても Debug Tool に制御が渡されることを指定します。
- C および C++ の場合:
- アテンション割り込み
- プログラム終了
- 重大度 2 以上の定義済み言語環境プログラム条件
- SIGUSR1、SIGUSR2、SIGINT、または SIGTERM 以外のすべての C および C++ 条件
- COBOL の場合:
- アテンション割り込み
- プログラム終了
- 重大度 2 以上の定義済み言語環境プログラム条件
- PL/I の場合:
- アテンション割り込み
- プログラム終了
- 重大度 2 以上の定義済み言語環境プログラム条件
上記の条件のいずれかに対してブレークポイントが存在しているときには、ブレークポイントで指定されたコマンドが実行されます。コマンドが指定されていない場合、Debug Tool はコマンド・ファイルからコマンドを読み取るか、あるいは対話モードでプロンプトを出してコマンド入力を要求します。
- NONE
- ある条件の場合にブレークポイントが定義されている場合に限り、Debug Tool がその条件によって制御を得ることを指定します。その条件のためのブレークポイントが存在する場合、ブレークポイントで指定されているコマンドが実行されます。Debug Tool が開始されていない場合、アテンション割り込みにより、Debug Tool が制御を得ることはありません。デバッグ・セッション開始後に TEST レベルを変更する場合は、SET TEST コマンドを使用します。
commands_file:
- * (またはブランク)
- コマンド・ファイルを提供していないことを示します。
以下の状態の場合、Debug Tool はデフォルト・ユーザー・コマンド・ファイルからコマンドを読み取ります。
- ユーザーまたはユーザーのサイトが EQAOPTS COMMANDSDSN コマンドを使用してデフォルト命名パターンを指定し、ユーザー・コマンド・ファイルを識別している。
- ユーザー・コマンド・ファイルが存在する。
- ユーザー・コマンド・ファイルに、最初のエンクレーブの初期ロード・モジュール名に一致する名前をもつメンバーが含まれている。
ユーザーまたはユーザーのサイトがデフォルト・ユーザー・コマンド・ファイルの名前を指定していないかそのファイルが存在せず、ライン・モードでデバッグを行っている場合、Debug Tool は端末からコマンドを読み取ります。
EQAOPTS COMMANDSDSN コマンドの指定方法については、EQAOPTS コマンドを参照してください。
- NULLFILE
- コマンド・ファイルが提供されておらず、Debug Tool が EQAOPTS COMMANDSDSN コマンドの指定をすべて無視することを示します。 ライン・モードでデバッグしている場合、Debug Tool は端末からコマンドを読み取ります。
- commands_file_designator
- 基本コマンド・ファイルの有効な指定。コマンド・ファイルは、端末の代わりにコマンドの初期ソースとして使用され、優先ファイルが指定された場合、優先ファイルが処理された後でのみ使用されます。
この指定には、DD 名またはデータ・セット名のいずれかが可能です。Debug Tool は以下のプロシージャーを使用して、この指定が DD 名か、またはデータ・セット名かどうかを判別します。
- この指定にピリオド (.) が含まれていない場合は、Debug Tool は DD 名とみなします。
- ピリオド (.) が含まれている場合、CICS® 下で稼働中であれば、Debug Tool はその指定を完全修飾のデータ・セット名と見なします。
- そうでない場合、Debug Tool はその指定を部分的に修飾されたデータ・セット名とみなし、
ユーザー ID を前に付けて完全修飾データ・セット名を形成します。
Debug Tool にデータ・セット名を完全修飾名として解釈させるには、名前の前に負符号 (-) を付けます。
この場合、Debug Tool はユーザー ID をデータ・セット名に追加しなくなります。
指定に非英数字の文字 (括弧など) が含まれる場合は、指定を引用符 (") またはアポストロフィ (') で囲む必要があります。ただし、データ・セット名が引用符またはアポストロフィで囲まれている場合、Debug Tool はデータ・セット名を部分修飾データ・セット名と認識し、ユーザー ID を接頭部として付加して完全修飾データ・セット名とします。
commands_file_designator の最大長は 80 文字
です。
指定された DD 名が 8 文字よりも長い場合、DD 名は自動的に切り捨てられます。エラー・メッセージは発行されません。
基本コマンド・ファイルは、バッチ・モードでデバッグする場合に必要です。Debug Tool は、コマンド・ファイルにリストされているコマンドを読み取って、実行しますが、これはファイル内のコマンドが尽きるか、またはプログラムの実行が終わるまで続けられます。1 つの Debug Tool セッションのログ・ファイルは、次の Debug Tool セッションのコマンド・ファイルとして使用できます。
基本コマンド・ファイルは、複数のエンクレーブ (別プログラム) 間で
共用されます。
- VADSCPnnnnn
- プログラムをリモート・デバッグ・モードでデバッグする場合に使用する CCSID (コード化文字セット ID) を指定します。
ソースまたはコンパイラーは、037 以外のコード・ページを使用します。
ご使用の C/C++ ソースに大括弧やその他の特殊文字が入っている場合、
VADSCPnnnnn サブオプションを指定して Debug Tool のデフォルトのコード・ページ (037) をオーバーライドする必要がある場合があります。
システム・プログラマーに相談して、1047 というコード・ページを指定する CODEPAGE オプションが実装されているか判別してください。
そのようなオプションが実装されていない場合、ソースをコンパイルした際に指定したコード・ページを確認してください。コード・ページを明示的に指定しない場合、C/C++ コンパイラーはデフォルトのコード・ページ 1047 を使用します。
コード・ページ 1047 を使用する場合、または 037 以外のコード・ページを使用する場合は、
VADSCPnnnnn サブオプションを指定して、使用するコード・ページを指定する必要があります。
次の例は、VADSCPnnnnn の使用法を示しています。
- 日本語 EBCDIC CCSID 930 の場合
TEST(ALL,VADSCP930,,TCPIP&9.10.11.12%8001:*)
- 日本語 EBCDIC CCSID 939 の場合
TEST(ALL,VADSCP939,,TCPIP&9.10.11.12%8001:*)
- ドイツ語 EBCDIC CCSID 1141 の場合
TEST(ALL,VADSCP1141,,TCPIP&9.10.11.12%8001:*)
- 韓国語 EBCDIC CCSID 933 の場合
TEST(ALL,VADSCP933,,TCPIP&9.10.11.12%8001:*)
CODEPAGE オプションが存在する場合、CODEPAGE オプションに指定されたコード・ページで、VADSCPnnnnn に指定された CCSID がオーバーライドされます。
CODEPAGE オプションも VADSCPnnnnn オプションも指定されていない場合、デフォルトのコード・ページは US コード・ページ (037) になります。
prompt_level:
- PROMPT (あるいは ; またはブランク)
- 言語環境プログラムの初期設定直後に Debug Tool を開始する必要があることを表します。コマンドは、まず優先ファイルから読み取られ、続いて指定された基本コマンド・ファイルから
読み取られます。どちらのファイルも存在しない場合には、端末またはワークステーションから
コマンドが読み取られます。
- NOPROMPT (または *)
- Debug Tool を言語環境プログラムの初期設定直後には開始しないことを指定します。その代わり、ユーザー・アプリケーションの実行が開始されます。Debug Tool が言語環境プログラム・ランタイムなしで実行されている場合
(EQANMDBG を使用して開始)、NOPROMPT オプションは無視されます。PROMPT が常に有効です。
NOPROMPT サブオプションを指定した場合は、高水準非言語環境プログラムのプログラムをデバッグしたり、または Debug Tool を開始したプログラムから戻ったあとでより高水準なプログラム
で生じる非言語環境プログラムのイベントをインターセプトしたりすることはできません。
- command
- 1 つ以上の有効な Debug Tool コマンド。プログラム初期設定の直後に Debug Tool が開始され、続いてこのコマンド (またはコマンド・ストリング) が実行されます。コマンド・ストリングには、最大 250 文字まで可能で、引用符 (") で囲む必要があります。 複数のコマンドは、セミコロンで分離する必要があります。
コマンド・ストリングに STEP コマンドまたは GO コマンドを組み込むと、後続のコマンドはどれも処理されません。
prompt_level
でのコマンドの使用は、リモート・デバッグ・モードではサポートされません。
preferences_file:
- MFI
(メインフレーム・インターフェース)
- デバッグ・セッションで Debug Tool がフルスクリーン・モードで開始されることを指定します。
- terminal_id (CICS のみ)
- 二重端末セッション中に Debug Tool 画面出力を受け取るための端末 ID を
4 文字以内の長さで指定します。対応する端末は稼働中で、かつ接続されており、Debug Tool 関連の入出力を受け取り可能な状態で
あることが必要です。
- network_identifier (専用端末を使用するフルスクリーン・モード のみ)
- パートナー LU (VTAM_LU_Id により識別) パラメーターが存在するネットワークを識別する、1 から 8 文字のオプションのネットワーク名を指定します。
- VTAM_LU_id (専用端末を使用するフルスクリーン・モード のみ)
- 専用端末を使用するフルスクリーン・モード で使用される端末の VTAM® 論理装置 (LU) ID を最大 8 文字で指定します。
VTAM_LU_id パラメーターは、CICS アプリケーションのデバッグには使用できません。
ご使用のサイトでこのタイプの端末 LU にアクセスする方法を判別するには、システム・プログラマーに連絡してください。
この端末の使用法については、「Debug Tool ユーザーズ・ガイド」を参照してください。
- VTAM (Debug Tool の端末インターフェース・マネージャーのみを使用した専用端末を使用するフルスクリーン・モード)
- デバッグ・セッションでは Debug Tool を専用端末を使用するフルスクリーン・モード で始動する必要があること、
および Debug Tool の端末インターフェース・マネージャーを使用してユーザー ID を
端末に割り当てたことを指定します。
- user_id (Debug Tool の端末インターフェース・マネージャーのみを使用した専用端末を使用するフルスクリーン・モード)
- Debug Tool の端末インターフェース・マネージャーにログオンするために使用されたユーザー ID を指定します。
詳しくは、VTAM_LU_id に関する項目を参照してください。
- INSPPREF (またはブランク)
- Debug Tool によって提供される、設定ファイルのデフォルト DD 名。
以下の状態の場合、Debug Tool はデフォルト・ユーザー設定ファイルからコマンドを読み取ります。
- INSPPREF を指定しているかブランクにしているが、DD 名を割り振っていない。
- ユーザーまたはユーザーのサイトが EQAOPTS PREFERENCESDSN コマンドを使用してデフォルト命名パターンを指定し、ユーザー設定ファイルを識別している。
- ユーザー設定ファイルが存在する。
ユーザーまたはユーザーのサイトが Debug Tool に指定した設定ファイルは、Debug Tool の開始後、Debug Tool コマンドの最初のソースになります。設定ファイルを使用して Debug Tool 環境 (例えば、PF キーの割り当てまたは画面のレイアウトなど) をセットアップします。
- preferences_file_designator
- 使用する優先ファイルを指定する有効な DD 名またはデータ・セット指定。
このファイルは Debug Tool が開始されるときに最初に読み取られるものであり、実行する一連の Debug Tool コマンドが含まれている必要があります。
この指定には、DD 名またはデータ・セット名のいずれかが可能です。Debug Tool は以下のプロシージャーを使用して、この指定が DD 名か、またはデータ・セット名かどうかを判別します。
- この指定にピリオド (.) が含まれていない場合は、Debug Tool は DD 名とみなします。
- ピリオド (.) が含まれている場合、CICS 下で稼働中であれば、Debug Tool はその指定を完全修飾のデータ・セット名と見なします。
- そうでない場合、Debug Tool はその指定を部分的に修飾されたデータ・セット名とみなし、
ユーザー ID を前に付けて完全修飾データ・セット名を形成します。
Debug Tool にデータ・セット名を完全修飾名として解釈させるには、名前の前に負符号 (-) を付けます。
この場合、Debug Tool はユーザー ID をデータ・セット名に追加しなくなります。
指定に非英数字の文字 (括弧など) が含まれる場合は、指定を引用符 (") またはアポストロフィ (') で囲む必要があります。ただし、データ・セット名が引用符またはアポストロフィで囲まれている場合、Debug Tool はデータ・セット名を部分修飾データ・セット名と認識し、ユーザー ID を接頭部として付加して完全修飾データ・セット名とします。
- *
- 設定ファイルを提供しなかったことを指定します。
ユーザーまたはユーザーのサイトが EQAOPTS PREFERENCESDSN コマンドを使用して命名パターンを指定し、ユーザー設定ファイルを識別している場合、Debug Tool はそのファイルからコマンドを読み取ります。
EQAOPTS PREFERENCESDSN コマンドの指定方法については、EQAOPTS コマンドを参照してください。
- NULLFILE
- 設定ファイルが提供されておらず、Debug Tool が EQAOPTS PREFERENCESDSN コマンドの指定をすべて無視することを示します。
次の TEST サブオプションは リモート・デバッグ・モードでのみ使用します。
- TCPIP& または VADTCPIP& (リモート・デバッグ・モードのみ)
- Debug Tool をリモート・デバッグ・モードで開始し、次のいずれかのリモート・デバッガーと接続することを指定します。
- IBM Debug Tool plug-in for Eclipse
- Rational Developer for System z の Compiled Language Debugger コンポーネント
- tcpip_workstation_id (リモート・デバッグ・モードのみ)
- リモート・デバッグ・デーモンが実行されているワークステーションの TCP/IP 名またはアドレス。以下のいずれかの形式です。
- IPv4
- アドレスをシンボリック・アドレス (例えば、some.name.com) として、または数値アドレス (例えば、9.112.26.333) として指定できます。
- IPv6
- アドレスは、数値アドレス (例えば、1080:0:FF::0970:1A21) で指定しなければなりません。
- %port_id (リモート・デバッグ・モードのみ)
- リモート・デバッグ・デーモンが使用する、ワークステーション上の固有な TCP/IP ポートを指定します。デフォルトのポート番号は 8001 です。以下の
リモート・デバッガーは、デフォルトの TCP/IP ポート ID として 8001 を使用します。
- IBM Debug Tool plug-in for Eclipse
- Rational Developer for System z の Compiled Language Debugger コンポーネント
これらのリモート・デバッガーが使用するデフォルトの TCP/IP ポート設定を変更した場合、TEST ランタイム・オプション・ストリングにポート ID として新規の番号を指定する必要があります。例えば、デフォルトの TCP/IP ポートを 8003 に変更した場合、TEST ランタイム・オプション・ストリングは TEST(ALL,'*',PROMPT,'TCPIP&9.112.26.333%8003:') になります。
使用上の注意
- コード・ページが正しく指定されていないか、システムで変換イメージを使用できない場合は、
デフォルト・コード・ページ (00037) がデバッグ・セッションに使用されます。
- コード・ページが正しく指定されていて、システムで変換イメージを使用できるが、
ストリング変換が正常に行われない場合は、デフォルト・コード・ページ (00037) が
この変換に使用されます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連する参照
- z/OS 言語環境プログラム デバッグのガイド
- 関連タスク
- Debug Tool ユーザーズ・ガイド
TRAP ランタイム・オプション
TRAP オプションを使用して、Debug Tool が ABEND およびプログラム割り込みを処理する方法を指定します。
このオプションの構文は次のとおりです。
- ON
- Debug Tool で ABEND のトラップを使用可能にします。
- OFF
- Debug Tool で ABEND のトラップを禁止します。ABEND が発生すると、Debug Tool およびテスト中のプログラムの両方が異常終了することになります。