Debug Tool コマンド
コマンドおよびキーワードは省略形が使用できます。いくつかのコマンドで表示された省略形は、最小限の省略形です。ただし、最小限の省略形または、最小限の省略形からキーワードの完全なスペルまでの任意のストリングを使用することができ、それらはすべて有効です。これは、コマンドのすべてのキーワードに当てはまります。
フルスクリーン・モードでデバッグしている場合、PF1 を押すか、
コマンド行に疑問符 (?) を入力すると、Debug Tool コマンド構文に関するヘルプを表示することが
できます。
これによって、Debug Tool コマンドがすべてログ・ウィンドウに
リストされます。
コマンドのオプション・リストを表示するには、コマンドの
一部に続けて疑問符を入力します。
下の表は、Debug Tool のコマンドを要約したものです。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- Debug Tool ユーザーズ・ガイド
? コマンド
? コマンドで「ログ」ウィンドウに Debug Tool コマンドのリストが表示されます。
使用上の注意
次の場合、Debug Tool は、? コマンドが入力された後に構文ヘルプを表示しません。
- Debug Tool の SYSTEM および TSO コマンドの後に ? コマンドを続けても、
構文ヘルプは表示されません。
構文ヘルプが表示される代わりに、? がシステム・コマンドの一部としてホストに送信されます。
- COMMENT コマンドの後に ? コマンドを続けても、構文ヘルプは表示されません。
- SET PFx コマンドは ? を「コマンド」オペランドとして受け入れます。
この場合、構文ヘルプは表示されません。
ALLOCATE コマンド
ALLOCATE コマンドは、ファイルを既存のデータ・セット、既存のデータ・セットの連結、または一時データ・セットに割り振ります。
- FILE ddname
- ファイルの DD 名。
- DSNAME dsn
- 既存のデータ・セットの名前。
- DSNAME (dsn、dsn、...)
- 連結する必要のある既存のデータ・セットの名前。
- TEMP
- 一時データ・セットが割り振られます。
- TRACKS (primspc、secspc、...)
- 一時データ・セットに対して割り振る 1 次スペース (primspc) および 2 次スペース (secspc) のためのトラックの数。
- OLD
- データ・セットのファイル属性指定を OLD に設定します。
- SHR
- データ・セットのファイル属性指定を SHR に設定します。
- MOD
- データ・セットのファイル属性指定を MOD に設定します。
使用上の注意
このコマンドは、CICS® では使用できません。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
ANALYZE コマンド (PL/I)
ANALYZE コマンドは、式の評価プロセス、および中間結果のデータ属性を表示します。式の実行結果の表示には、LIST コマンドを使用してください。
- EXPRESSION
- 付随する expression を次の観点から評価するように要求します。
- 式の評価中にそれぞれのエレメントの属性はどうなっているか。
- 式のエレメントの大きさと範囲はどうなっているか (該当する場合)。
- 式の処理過程で作成される中間結果の属性はどうなっているか。
- expression
- 有効な Debug Tool の PL/I の式。
使用上の注意
- SET SCREEN ON が有効で、プログラム内の式に対して ANALYZE EXPRESSION を出す場合は、式が記述されている行のどこかの文字を上書きすることによって、式をソース・ウィンドウからコマンド行に持っていくことができます。その上で、コマンド行で編集を行って、必要な ANALYZE EXPRESSION コマンドを作成します。
- SET WARNING ON が有効になっている場合、Debug Tool は、式の評価中に発生する可能性のある、PL/I の計算条件についてのメッセージを表示します。
- PL/I コンパイラーは GRAPHIC ストリングの連結をサポートしていますが、Debug Tool はこの連結をサポートしていません。
- ANALYZE コマンドは、Enterprise PL/I プログラムのデバッグには使用できません。
- ANALYZE コマンドは、PLAYBACK コマンドを使用して記録されたステートメントを再生している間は使用できません。
- ANALYZE コマンドは、逆アセンブルされたプログラムのデバッグ中は使用できません。
例
この例は、次のプログラム・セグメントに基づいています。
DECLARE lo_point FIXED BINARY(31,5);
DECLARE hi_point FIXED BINARY(31,3);
DECLARE offset FIXED DECIMAL(12,2);
DECLARE percent CHARACTER(12);
lo_point = 5.4; hi_point = 28.13; offset = -6.77;
percent = '18';
次に示すのは、ANALYZE EXPRESSION を出すことによって
作成される情報の例です。特に次の例では、データの精度と大きさが混在している場合に、式の実行の中間結果と最終結果にどのような
影響があるかを示しています。
ANALYZE EXPRESSION ( (hi_point - lo_point) + offset / percent )
>>> Expression Analysis <<<
( HI_POINT - LO_POINT ) + OFFSET / PERCENT
| HI_POINT - LO_POINT
| | HI_POINT
| | FIXED BINARY(31,3) REAL
| | LO_POINT
| | FIXED BINARY(31,5) REAL
| FIXED BINARY(31,5) REAL
| OFFSET / PERCENT
| | OFFSET
| | FIXED DECIMAL(12,2) REAL
| | PERCENT
| | CHARACTER(12)
| FIXED DECIMAL(15,5) REAL
FIXED BINARY(31,17) REAL
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
代入コマンド (アセンブラーおよび逆アセンブリー)
代入コマンドは、式の値を指定されたメモリー・ロケーションまたはレジスターに代入します。
- receiver
- 有効な Debug Tool アセンブラー参照またはアセンブラー式。
- receiverlen
- 左および右大括弧 (<, >) で囲まれた有効な Debug Tool アセンブラー参照およびアセンブラー式。この参照の値は、receiver の長さとして使用されます。
- sourceexpr
- 有効な Debug Tool アセンブラー式。
代入規則
アセンブラーの代入は算術代入、ビット代入、または文字代入です。
- 算術代入では、埋め込み (通常はゼロで) および左方の切り捨てが行われます。ソースが F または H 型の場合、算術ステートメントでは符号ビットで埋め込まれます。
- ビット代入では、埋め込み (ゼロで) および右方の切り捨てが行われます。
- 文字代入では、埋め込み (ブランクで) および右方の切り捨てが行われます。
次の表に、ソースおよび受け取り側のデータ型からの代入型の決定方法を示します。この表では、次の定義を使用しています。
- ?
- 不明の型を示します。例えば、R1->+2。
- *
- 任意の型または長さを示します。
- 算術
- 算術代入を示します。埋め込みは、左方が符号ビットで行われます。
- ビット
- ストリング代入 (ゼロで埋め込み) を示します。
- 文字
- ストリング代入 (ブランクで埋め込み) を示します。
- 16 進浮動小数点
- 16 進浮動小数点の代入を示します。
- ストリング代入
- Min(receiver length,
source length) に対応するバイト数が、ソースから受け取り側に移動されます。受け取り側の方が長い場合は、埋め込まれます。ソースの方が長い場合は、切り捨てられます。埋め込みおよび切り捨ては、すべて右方です。
- 移動
- 受け取り側の長さに対応するバイト数が、受け取り側のロケーションに直接移動されます。
- エラー
- 無効であるとのフラグが立てられたステートメント。
表 2. 代入規則は、ソースおよび受け取り側の型により異なります。
| 受け取り側 |
ソース |
代入型 |
埋め込みまたは切り捨て |
| 型 |
長さ |
型 |
長さ |
| * |
1 - * |
? |
? |
移動 |
なし |
| F、H、A、Y |
1 - 4 |
F、H、A、Y、
X、B、C |
1 - 4 |
算術 |
左 |
| E、D、L |
4、8、16 |
16 進浮動小数点 |
右 - 0 |
| P、Z |
1 - * |
算術 |
|
| X、B、C |
>4 |
エラー |
|
| その他 |
その他 |
エラー |
|
| X |
1 - 4 |
F、H、A、Y |
1 - 4 |
算術 |
左 |
| P、Z |
1 - * |
算術 |
|
| 1 - * |
X、B |
1 - * |
ビット |
右 - 0 |
| C |
ビット |
右 - 0 |
| その他 |
|
エラー |
|
| C |
1 - 4 |
F、H、A、Y |
1 - 4 |
算術 |
左 |
| P、Z |
1 - * |
算術 |
|
| 1 - * |
X、B |
1 - * |
ビット |
右 - 0 |
| C |
文字 |
右 - ブランク |
| その他 |
|
エラー |
|
| P、Z |
1 - * |
P、Z |
1 - * |
パック |
|
| F、H、A、Y、
X、B、C |
1 - 4 |
パック |
|
| E、D、L |
4、8、16 |
16 進浮動小数点 |
右 - 0 |
| E、D、L |
4、8、16 |
X |
= |
移動 |
なし |
| E、D、L |
4、8、16 |
16 進浮動小数点 |
右 - 0 |
| F、H、A、Y |
1 - 4 |
16 進浮動小数点 |
右 - 0 |
| P、Z |
1 - * |
16 進浮動小数点 |
右 - 0 |
| ? |
1 - 4 |
F、H、A、Y |
1 - 4 |
算術 |
左 |
| 1 - * |
X、B、C |
1 - * |
ビット |
右 - 0 |
| その他すべて |
エラー |
|
使用上の注意
- 受け取り側の式に暗黙的な長さがない場合は、長さのオーバーライドを指定して不等号括弧 (<>) で囲む必要があります。
例えば、%R1->+10 <4> = 20; では、受け取り側の式に暗黙的な長さがないので、明示的な長さ式が必要です。
ただし、X=X+1; (ここで X は X DS F として定義) には、通常は明示的な長さ指定はありません。
- 代入コマンドは、PLAYBACK コマンドを使用して記録されたステートメントを再生している間は使用できません。
例
- 値 6 を変数 x に代入します。
x = 6 ;
- X の値を 5 だけ増分します。
X = X + 5 ;
- R5 に name_table のアドレスを代入します。
%R5 = addr'name_table ;
- 変数 prg_name に文字ストリング値 'MYPROG' を代入します。
prg_name = 'MYPROG' ;
- X の値を、R8 の内容からオフセット 8 の場所の 4 バイトに代入します。
%R8->+8 <l'x> = x;
- R8 (R8 はプログラムで使用される等価レジスター) の内容でポイントされる 14 バイトのストリングを、R2 でポイントされる場所から 6 バイト・オフセットされた場所に移動します。
%R2->+6 <14> = R8->+0;
- R6 でポイントされる 32 バイトをゼロに設定します。
%R6->+0 <X'20'> = X'00';
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
代入コマンド (非言語環境プログラム COBOL)
代入コマンドは、指定された参照に式の値を割り当てます。これは COBOL COMPUTE ステートメントと同等です。
- receiver
- アポストロフィ (') で囲まれた有効な Debug Tool 非言語環境プログラム COBOL 参照。
- sourceexpr
- アポストロフィ (') で囲まれた有効な Debug Tool 非言語環境プログラム COBOL 式。
使用上の注意
- receiver が算術計算変数である場合、sourceexpr は、receiver と同じ長さの 16 進数ストリングになります。
Debug Tool は正しい内部表記が使用されていることを前提として、16 進値を直接
receiver に移動します。
- receiver が非数値ストリングである場合、sourceexpr は、どのような長さの 16 進数ストリングにもなり得ます。
sourceexpr の長さが receiver の長さよりも短い場合、receiver
には、右側に 2 進ゼロが埋め込まれます。
- receiver が COBOL INDEX 変数である場合、Debug Tool は sourceexpr
が添え字の値であると想定して、値を receiver に格納する前に適切なオフセット
に変換します。
- 代入コマンドは、PLAYBACK コマンドを使用して記録されたステートメント
を再生している間は使用できません。
例
- 値 6 を変数 x に代入します。
'x' = '6' ;
- X の値を 5 だけ増分します。
'X' = 'X + 5' ;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
代入コマンド (PL/I)
代入コマンドは、指定された参照に式の値を割り当てます。
- reference
- 有効な Debug Tool の PL/I の参照。
- expression
- 有効な Debug Tool の PL/I の式。
使用上の注意
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT コマンド
AT コマンドは、ブレークポイントまたは 1 組のブレークポイントを定義します。ブレークポイントを定義することによって、プログラムの実行を一時的に中断し、Debug Tool を使用して別のタスクを実行することができます。AT コマンドに AT 条件を定義することによって、Debug Tool がいつ制御を得るかを指示します。また、AT コマンドには、AT 条件が発生したときに、Debug Tool が行う処置も指定します。
指定された AT 条件のブレークポイントは、別の AT コマンドが
同じ AT 条件についての新しい処置を確立するまで、または CLEAR コマンドが確立されたブレークポイントを除去するまで
確立されたままです。通知メッセージは、前者の場合に出されます。ブレークポイントには、デバッグ・セッションの間に最新ではなくなってしまうものも
あり、これらのブレークポイントは、Debug Tool によって自動的に消去されます。
MVS バッチ、TSO、および CICS プログラムでは、SET SAVE および SET RESTORE コマンドを
使用して、Debug Tool のセッション間のブレークポイントを自動的に保存および復元できます。
その他のすべてのプログラムでは、SET SAVE および RESTORE コマンドを使用して、セッション間のブレークポイントを自動的に保存し、
手動で復元できます。
CICS の場合のみ: ブレークポイントまたはモニター仕様の保管および復元を制御するために SET SAVE および SET RESTORE コマンドを
使用せず、フルスクリーン・モードのデバッグ・セッションを開始するために DTCN プロファイルを
使用すると、Debug Tool は、DTCN プロファイルが削除されるまで、そのセッションの後続のブレークポイントを保持します。
- APPEARANCE ブレークポイント
- CALL ブレークポイント
- DELETE ブレークポイント
- ENTRY ブレークポイント
- EXIT ブレークポイント
- GLOBAL APPEARANCE ブレークポイント
- GLOBALCALL ブレークポイント
- GLOBAL DELETE ブレークポイント
- GLOBAL ENTRY ブレークポイント
- GLOBAL EXIT ブレークポイント
- GLOBAL LABEL ブレークポイント
- GLOBAL LOAD ブレークポイント
- GLOBAL STATEMENT/LINE ブレークポイント
- LABEL ブレークポイント
- LOAD ブレークポイント
- OCCURRENCE ブレークポイント
- STATEMENT/LINE ブレークポイント
- TERMINATION ブレークポイント
据え置き AT ENTRY ブレークポイントが検出されなかった場合、その保存も復元も行われません。
最適化 COBOL プログラムの場合: 最適化されたプログラムでブレークポイントに到達する順序は、一般的に最適化されていないプログラムと同じです。最適化の影響によって差が出る場合があります。
次の表は、AT コマンドの形式を要約しています。
使用上の注意
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- Debug Tool ユーザーズ・ガイド
every_clause 構文
ほとんどの AT コマンドの形式には、オプションの every_clause が含まれ、状況が発生した回数に基づいて
指定された処置が行われるかどうかを制御します。例えば、ブレークポイントに 10 回達するたびに処置を行わなければならない場合が
あります。
every_clause の構文は次のとおりです。
- EVERY integer
- ブレークポイントをとる頻度を指定します。例えば、EVERY 5 は、AT 条件が 5 回満たされるたび
に Debug Tool を起動することを意味します。デフォルトは EVERY 1 です。
- FROM integer
- いつ Debug Tool を呼び出すかを指定します。例えば、FROM 8 は、AT 条件が 8 回満たされるまで
は Debug Tool を起動しないことを意味します。FROM 値を指定しない場合、EVERY 値と同じ値になります。
- TO integer
- いつ Debug Tool 呼び出しを終了するかを指定します。例えば、TO 20 は、AT 条件が 20 回満たされた以降は
Debug Tool を起動してはならないことを意味します。TO 値が指定されない場合、every_clause は無限に続きます。
使用上の注意
- FROM integer は TO integer を
超えることはできないため、すべての整数は ≥1 でなければなりません。
- EVERY そのものは EVERY 1 FROM 1 と同じです。
- EVERY、FROM、および TO 文節は、どのような
順序ででも指定することができます。
例
- ステートメント 50 に 3 回達するごとに中断し、48 回目で開始し、59 回目の後に終了させます。ブレークポイント処置は、ステートメント 50 に 48 回目、51 回目、54 回目、および 57 回目に達するごとに行われます。
AT EVERY 3 FROM 48 TO 59 STATEMENT 50;
- mystruct と命名された構造体の構造フィールド member が 5 回変更されると、変更が行われたことを示すメッセージを印刷し、その新しい値をリストします。また、CHANGE ブレークポイントも消去します。現行のプログラム言語の設定は C です。
AT FROM 5 CHANGE mystruct.member {
LIST ("mystruct.member has changed.
It is now", mystruct.member);
CLEAR AT CHANGE mystruct.member;
}
AT ALLOCATE (PL/I) コマンド
AT ALLOCATE は、名前指定された被制御変数または集合体に対する
ストレージが PL/I によって動的に割り振られると、Debug Tool に制御を渡します。AT ALLOCATE ブレークポイントが発生した時点では、割り振り済みストレージは初期設定されていません。制御がプログラムに戻ると、初期設定を実行します。
- identifier
- 割り振りが行われると Debug Tool の呼び出しを起動する、PL/I 被制御変数の名前。この変数が構造の名前である場合、大構造の名前のみが指定可能です。
- *
- ALLOCATE ごとにブレークポイントを設定します。
- command
- 有効な Debug Tool コマンド。
使用上の注意
- AT ALLOCATE コマンドは Enterprise PL/I プログラムのデバッグには使用できません。
- AT ALLOCATE コマンドは、PLAYBACK コマンドを使用して記録されたステートメントを再生している間は使用できません。
例
- 大構造 area_name の割り振りで、割り振りを得たストレージの
アドレスを表示します。
AT ALLOCATE area_name LIST ADDR (area_name);
- temp に対するストレージは割り振ってあり、temp に
変更があると、変更内容をリストします。
DECLARE temp CHAR(80) CONTROLLED INITIAL('abc');
AT ALLOCATE temp;
BEGIN;
AT CHANGE temp;
BEGIN;
LIST (temp);
GO;
END;
GO;
END;
GO;
temp = 'The first time.';
temp = 'The second time.';
temp = 'The second time.';
temp にストレージが割り振られた時点では、temp の値は
初期設定されていません。INITIAL 句で、'abc' の値に初期設定すると、最初
の AT CHANGE が認識され、'abc' の値がリストされます。3 行の代入ステートメントで temp の
値を繰り返し設定していますが、3 番目の代入では値は変わりません。この例では、ALLOCATE ブレークポイントが 1 回、CHANGE ブレークポイント
が 3 回発生します。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT APPEARANCE コマンド
指定したコンパイル単位がストレージに見つかると、Debug Tool に制御を渡します。通常、新しくロード・モジュールをロードしたときに発生します。しかし、メインのコンパイル単位が COBOL で作成されているモジュールの場合、ロードのあとで最初にコンパイル単位に入るまでは、ブレークポイントは発生しません。
- *
- すべてのコンパイル単位の APPEARANCE のたびにブレークポイントを
セットします。
- command
- 有効な Debug Tool コマンド。
使用上の注意
- このブレークポイントを親エンクレーブで設定した場合、アプリケーションが子エンクレーブで実行中でも、ブレークポイント・コマンドによってブレークポイントが起動され、処理されます。
- コンパイル単位がロード・モジュール名によって修飾される場合、指定されたロード・モジュール内に含まれるコンパイル単位については、AT APPEARANCE ブレークポイントのみが認識されます。例えば、ロード・モジュール loady 内の
コンパイル単位 cux が現れても、ブレークポイント AT APPEARANCE loadx::>cux は起動されません。
- コンパイル単位がロード・モジュール名によって修飾されない 場合、現行の
ロード・モジュール修飾は使用されません。
- 指定したコンパイル単位を Debug Tool が初めて認識したときに、Debug Tool は制御を受け取ります。これが発生するのは、そのコンパイル単位を参照しているプログラムに
達した場合です。これは、プログラムを操作 (例えば、ブレークポイントを設定) できるほど遅れて発生しますが、プログラムの実行がまだ始まらないほど早く発生します。また、C では、静的変数も参照可能です。
- AT APPEARANCE コマンドは、PLAYBACK コマンドを使用して記録されたステートメントを再生している間は使用できません。
- AT APPEARANCE は、未知のコンパイル単位にブレークポイントを設定する場合に
有用です。適切な修飾子を使用し、APPEARANCE ブレークポイントに関連付けられた
コマンド・リストにブレークポイントを組み込むことにより、現在 Debug Tool に認識されていない
位置にブレークポイントを設定することができます。ただし、コンパイル単位では APPEARANCE ブレークポイントはどのような場合でも 1 個所しか
設定できないため、未知のコンパイル単位のすべてのブレークポイントを
単一の APPEARANCE ブレークポイントの設定に含むことが必要になります。
- CICS 以外のアプリケーションでは、AT APPEARANCE ブレークポイントはプロセスの終了で消去されます。
- アセンブラーまたは逆アセンブルされたプログラムのデバッグで AT APPEARANCE コマンドを入力する前に、SET ASSEMBLER ON または SET DISASSEMBLY ON コマンドを入力します。
- C および C++ の場合のみ: コンパイル単位がロードの時点で認識されるため、ロードされたモジュール内にあるコンパイル単位の
AT APPEARANCE は起動されません。
- C、C++、および PL/I の場合のみ: APPEARANCE ブレークポイントは、Debug Tool が
指定されたコンパイル単位をストレージで見つけたときに起動されます。ただし、APPEARANCE ブレークポイントは、コンパイル単位が
ロードされる前に設定されていないと起動されません。
APPEARANCE ブレークポイントが起動された時点では、モニターされているコンパイル単位は、現在実行中のコンパイル単位にはなっていません。
新しいコンパイル単位がストレージに現れて
APPEARANCE ブレークポイントを起動したときに現行コンパイル単位になるコンパイル単位は、
実行が新しいコンパイル単位に渡されるまでは現行コンパイル単位のままになります。
- COBOL の場合のみ: APPEARANCE ブレークポイントは、Debug Tool が
指定されたコンパイル単位をストレージで見つけたときに起動されます。ただし、APPEARANCE ブレークポイントは、コンパイル単位が呼び出される前に
設定されていないと、起動されません。
APPEARANCE ブレークポイントが起動された時点では、モニターされているコンパイル単位は、現在実行中のコンパイル単位にはなっていません。
新しいコンパイル単位がストレージに現れて
APPEARANCE ブレークポイントを起動したときに現行コンパイル単位になるコンパイル単位は、
実行が新しいコンパイル単位に渡されるまでは現行コンパイル単位のままになります。
- CICS の場合のみ: AT APPEARANCE ブレークポイントは、アプリケーションの最後のプロセスの
終了で消去されます。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT CALL コマンド
アプリケーション・コードが、指定した入り口点への呼び出しを試みたときに、Debug Tool に制御を渡します。CALL ブレークポイントを使用すると、終了していないサブルーチンの実行を
シミュレートしたり、ダミーあるいは stub プログラムを作成したり、変数に模擬結果値を設定したりして、コード全体のテストが完了する前に
コードの部分ごとのテストをすることができます。
- entry_name
- 有効な外部入り口点名定数またはゼロ (0)。0 を指定できるのは、現行のプログラム言語設定が C または PL/I の場合のみです。
- *
- すべての入り口点の CALL のたびにブレークポイントを設定します。
- command
- 有効な Debug Tool コマンド。
使用上の注意
- AT CALL は、サブルーチン入り口点ではなく呼び出し自体を
インターセプトします。TEST または DEBUG コンパイラー・オプションの PATH サブオプションを
指定してコンパイルした、C、COBOL、および PL/I のプログラムでは、
呼び出しのターゲットが未解決になっていてもそれらのターゲットを識別します。
- C、C++、あるいは PL/I 組み込み関数の呼び出しに関して AT CALL で設定したブレークポイントは起動されません。
- AT CALL は、コンパイル時に Debug Tool に認識
される入り口点の呼び出しをインターセプトします。入り口変数の呼び出しはインターセプトされません。ただし、現行プログラム言語の設定が C または COBOL のいずれ
か (TEST ランタイム・オプションによってコンパイルされている) の場合は除きます。
- AT CALL 0 は、現行プログラム言語の設定が C また
は PL/I (TEST ランタイム・オプションによってコンパイルされている) の場合、未解決の入り口点への呼び出しをインターセプトします。
- AT CALL では、GO BYPASS または GOTO を使用して
ターゲット・プログラムのインターセプトあるいはバイパスができます。通常の GO または STEP によって再開される場合、呼び出しを行うことによって実行は再開します。
- ブレークポイントを親エンクレーブで設定すると、アプリケーションが子エンクレーブで実行中でも、ブレークポイント・コマンドによってブレークポイントが起動され、処理されます。
- CICS アプリケーションをデバッグしているときは、CICS アプリケーションの
最後のプロセスの終了で、ブレークポイントは消去されます。CICS 以外のアプリケーションをデバッグしているときは、プロセスの終了で消去されます。
- AT CALL コマンドは、PLAYBACK コマンドを使用して記録されたステートメントを再生している間は使用できません。
- AT CALL コマンドは、逆アセンブリー・プログラムのデバッグ中には使用できません。
- Debug Tool は、非言語環境プログラム COBOL プログラムまたは VS COBOL II プログラムのデバッグ時は AT CALL コマンドをサポートしません。
- C および C++ の場合のみ: 以下の使用上の注意が適用されます。
- ご使用の C および C++ プログラムに未解決の入り口点または入り口変数がある場合には、AT CALL 0 コマンドを入力してください。
- C プログラムで AT CALL コマンドを使用してブレークポイントを設定するには、以下のいずれかの方法を使用して、プログラムをコンパイルする必要があります。
- TEST コンパイラー・オプションの PATH または ALL サブオプションのいずれかを指定します。
- DEBUG コンパイラー・オプションの PATH または ALL サブオプションのいずれかを指定します。
- C++ プログラムで AT CALL コマンドを使用してブレークポイントを設定するには、以下のいずれかの方法を使用して、プログラムをコンパイルする必要があります。
- TEST コンパイラー・オプションを指定します。
- DEBUG コンパイラー・オプションの PATH または ALL サブオプションのいずれかを指定します。
- COBOL の場合のみ: 以下の使用上の注意が適用されます。
- entry_name でメソッドもプロシージャーも参照可能です。
- entry_name の大/小文字を区別する場合は、引用符 (") またはアポストロフィ (') で囲んでください。
- COBOL プログラムで AT CALL コマンドを使用してブレークポイントを設定できるようにするには、正しい TEST コンパイラー・サブオプションを指定してプログラムをコンパイルする必要があります。以下に、COBOL コンパイラーの対応するバージョンに使用する TEST コンパイラー・サブオプションを説明します。
- Enterprise COBOL for z/OS® バージョン 4.1 の TEST コンパイラー・オプションの HOOK または NOHOOK サブオプションを指定します。
- 以下のコンパイラーの TEST コンパイラー・オプションの PATH、ALL、または NONE サブオプションを指定します。
- Enterprise COBOL for z/OS and OS/390 バージョン 3
- COBOL for OS/390® & VM バージョン 2
以下のいずれかのコンパイラーおよびサブオプションでプログラムをコンパイルする場合は、AT CALL entry_name コマンドを使用できません。
- Enterprise COBOL for z/OS バージョン 4.1 の TEST コンパイラー・オプションの NOHOOK サブオプション
- 以下のコンパイラーの TEST コンパイラー・オプションの NONE サブオプション
- Enterprise COBOL for z/OS and OS/390 バージョン 3
- COBOL for OS/390 & VM バージョン 2
その代わりに、AT CALL * を使用します。
- COBOL プログラムで AT CALL 0 を使用することはできません。ただし、COBOL は、たとえ未解決であっても CALL のターゲットを
識別することができ、また入り口変数を識別してインターセプトすることができます。したがって、COBOL プログラムの場合には、必ずしもすべての外部参照が解決されている必要
はありません。
- PL/I の場合のみ: 以下の使用上の注意が適用されます。
- PL/I で CALL ブレークポイントを設定するには、TEST コンパイラー・オプションの PATH また
は ALL サブオプションを使用して、プログラムをコンパイルする必要があります。AT CALL 0 はサポートされており、未解決の外部参照に関して呼び出されます。
- PL/I の変数宣言の INITIAL 属性の中の CALL ステートメントは、AT CALL ブレークポイントを起動しません。
- アセンブラーの場合のみ: CALL ステートメントは
内部および外部ルーチンの呼び出しにすることができます。CALL ステートメントは、命令コード BALR、BASR、BASSM、BAL、BAS、BRASL、SVC、または
PC のいずれかに定義されます。
コマンド AT CALL MVS を使用すると、SVC または PC 命令で Debug Tool 制御を与えることができます。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT CHANGE コマンド (フルスクリーン・モード、ライン・モード、バッチ・モード)
プログラムまたは Debug Tool コマンドが、指定の変数の値か
あるいは記憶場所を変更した場合に、Debug Tool に制御を渡します。
- condition
- 有効な Debug Tool の条件式。
- reference
- 現行のプログラム言語で有効な Debug Tool 参照。
- 'reference'
- 現行のプログラム言語が非言語環境プログラム COBOL である場合に有効な Debug Tool 参照。
- %STORAGE
- AT CHANGE の対象を選択する代替方法となる組み込み関数。
- address
- 変更の発生を監視するストレージの開始アドレス。
- length
- 変更の発生を監視するストレージのバイト数。これは、正の整数定数でなければなりません。デフォルトは 1 です。
- command
- 有効な Debug Tool コマンド。リモート・デバッグ・モードを
使用する場合、 リモート・デバッグ・モードでサポートされるコマンドのみを指定できます。
使用上の注意
- COBOL レベル 88 変数に AT CHANGE コマンドを使用するには、言語環境プログラム APAR PK12834 用の PTF を z/OS バージョン 1 リリース 6 およびバージョン 1 リリース 7 にインストールしておく必要があります。
- OPEN OUTPUT または EXTEND である BLOCKED QSAM ファイルのファイル・レコードに AT CHANGE ブレークポイントが
設定される場合、そのブレークポイントは WRITE ステートメントの使用時に期待通りに機能しないことがあります。
この場合のブレークポイントの動作は、ファイル・レコードがデータ管理バッファーにマップされているために予測することができません。
このような場合に AT CHANGE の動作を予測可能にするには、SAME RECORD AREA 文節を使用するようにファイルをセットアップします。
- データは、ストレージ内にある場合にのみ監視されます。
したがって、コンパイラーの最適化処理の結果としてレジスターに保持されている値は監視できません。
さらに、Debug Tool 変数の %GPRn、%Rn、%FPRn、%LPRn、%EPRn、
およびレジスターを表すアセンブラーまたは逆アセンブル・シンボルも監視できません。
- 監視の対象はバイト全体です。バイトのなかのビットまたは
ビット・ストリングを取り出しての監視はできま
せん。
- AT CHANGE ブレークポイントはストレージのアドレスと長さによって識別される
ため、ストレージ内の同じ区域 (同じアドレスと長さ) を指定した 2 つ
の AT CHANGE ブレークポイントをもつことはできません。すなわち、ストレージのアドレスと長さが同じである場合、AT CHANGE コマンドは
前の AT CHANGE コマンドに置き換わります。ただし、その他のオーバーラップは無視され、ブレークポイントは 2 つの別々の変数を
区切るものと見なされます。例えば、ストレージのアドレスが同じでも長さが異なると、AT CHANGE コマンドは前の AT CHANGE を置き換えません。
- 複数の AT CHANGE ブレークポイントが同時に起動されると、AT CHANGE ブレークポイントは入った順に起動されます。
ただし、あるブレークポイントの起動が原因で別のブレークポイントによって監視される変数が変更される場合、その起動の順序は、必ずしも最初に入った順にはなりません。例えば、次のようになります。
AT CHANGE y LIST y;
AT CHANGE x y = 4;
GO;
プログラム内で次に実行されるステートメントによって x の値が変更されると、Debug Tool が制御を獲得したときに、CHANGE x ブレークポイントが起動されます。
CHANGE x の処理によって、y の値は変更します。CHANGE x が起動されたことが通知された後に GO; と
入力すると、Debug Tool は、プログラムに制御を戻す前に、CHANGE y ブレークポイントを起動します。
この場合、CHANGE y ブレークポイントが先に入力されましたが、CHANGE x ブレークポイントの方が先に起動されました (これによって、CHANGE y ブレークポイントが起動されるため)。
- %STORAGE は、Debug Tool の組み込み関数で、AT CHANGE コマンドでのみ使用可能です。
- Debug Tool での CICS アプリケーションでは、アプリケーションの最後のプロセスの終了で CHANGE %STORAGE ブレークポイントは消去されます。Debug Tool での CICS 以外の
アプリケーションでは、プロセスの終了で消去されます。
- 参照された変数は、AT CHANGE ブレークポイントが定義された時点で
存在しなければなりません。AT CHANGE を AT ENTRY に組み込んで、これを確認することができます。
- AT CHANGE ブレークポイントは、指定された変数が定義されなくなった時点で
自動的に除去されます。C の静的変数に対する AT CHANGE は、変数を定義しているモジュールが
ストレージから除去されたときに、除去されます。malloc() または calloc() を使用して割り振られる C ストレージでは、動的ストレージが free() によって解放された場合に、このような状況が生じます。
- 変更は即時には検出されませんが、ストレージ、変数値、または論理条件を変更できる
コマンドが完了した場合に限り検出されます。
単一参照を指定すれば、WHEN 条件の指定によって CHANGE 条件が発生する環境を制限できます。
監視される変数を変更する Debug Tool コマンドを入力すると、WHEN 条件が指定されていない場合に、CHANGE 条件が即時に発生します。
WHEN 条件が指定されている場合、CHANGE 条件は、変数が変更されて、WHEN 条件が true の場合にのみ発生します。SET CHANGE コマンドを使用すれば、チェックの頻度を多くしたり
少なくしたりすることができます。
- C および C++ AT CHANGE ブレークポイント要件
- 変数は左辺値または配列でなければなりません。
- 変数がパラメーターの場合または変数のストレージ・クラスが auto で
ある場合には、その変数をアクティブなブロック内で宣言しなければなりません。
- 静的変数について定義された CHANGE ブレークポイントは、その変数が
宣言されたファイルがアクティブでなくなると、自動的に除去されます。外部変数の場合に定義された CHANGE ブレークポイントは、その変数が
宣言されたモジュールがアクティブでなくなると、自動的に除去されます。
- reference がポインターの場合、Debug Tool は、
そのポインターが指定するアドレスにあるストレージの内容が変更されると、停止します。
- COBOL の AT CHANGE ブレークポイントの要件
- ストレージ・アドレスを使用する AT CHANGE は、グループ内の
可変サイズ・エレメントまたはサブグループの後に続くデータ項目を参照してはなりません。可変サイズ・エレメントがサイズを変更した場合、COBOL はグループを動的に再マップします。
- 可変サイズのエレメントの割り振り済みストレージに続く変数
の検査の際には注意が必要です。このエレメントのサイズが変更されたときには、COBOL は動的にそのエレメントのストレージを再マップします。これにより、検査したい変数のアドレスが変更されることがあります。
- COBOL ファイル・レコードの CHANGE ブレークポイントは、そのファイルがオープンされる前に設定することはできません。
- 変数がローカル・ストレージ・セクションにある場合、アクティブなブロックで宣言する必要があります。
- PL/I の AT CHANGE ブレークポイントの要件
- 基底変数または被制御変数の場合は、それらが解放されるとき
に、また、パラメーターおよび AUTOMATIC 変数の場合は、それらが宣言されているブロックがアクティブでなくなったときに、それぞれ CHANGE ブレークポイントが除去されます。
- CHANGE は、単一スカラー・エレメントの構造体のみをモニターします。複数のスカラー・エレメントを含んでいる構造体は、サポートされていません。
- 変数は、現行ブロックに関して有効な参照をしていることが必要です。
- 参照している変数が存在しなくなると、ブレークポイントは除去されます。
- CHANGE ブレークポイントは、被制御変数の現行世代に割り振られたストレージを
モニターします。その後に新世代の割り振りがなされても、モニターされるわけではありません。
- PL/I および C/C++ では、reference を指定した場合、Debug Tool は、
AT CHANGE コマンドを初めて実行するときに 1 回だけ reference のアドレスを計算します。
その後、Debug Tool は、そのアドレスで示されているストレージ・ロケーションをモニターします。
以下の項目については、Debug Tool は、
ストレージ・ロケーションをモニターするたびに reference のアドレスを再計算します。
reference のアドレスが変更された場合、Debug Tool は、モニターするアドレスとして新しいストレージ・ロケーションを使用します。
- アドレスを変更することができる COBOL 変数
- AT CHANGE コマンドを入力したときにアクティブ USING の範囲内にあるアセンブラーの DSECT 項目
- AT CHANGE コマンドを入力したときにアクティブ USING の範囲内にあるアセンブラーの絶対ストレージ・ロケーション
- アセンブラーまたは逆アセンブリーのプログラムの STORAGE RELEASE
マクロでストレージを解放すると、そのストレージがいつ解放されるかは検出できません。
STORAGE RELEASE マクロによって解放されたストレージに AT CHANGE ブレークポイントを
設定した場合、予期しない時点でブレークポイントが起動されるなど、予期しない結果が生じる可能性があります。
- AT CHANGE コマンドは、PLAYBACK コマンドを使用して記録されたステートメントを再生している間は使用できません。
- 最適化 COBOL プログラムでは、指定された変数はコンパイラー最適化により廃棄された変数であってはなりません。
- AT CHANGE コマンドでレベル 88 変数を使用すると、値の現行設定値が保存されます。
Debug Tool は、レベル 88 変数の設定値が保存済みの値から別の値に変更された場合にのみブレークポイントで停止します。
例えば、保存済みの値が TRUE で、新規の値が FALSE の場合に、Debug Tool はブレークポイントで停止します。
- AT CHANGE コマンドでレベル 88 変数を使用するには、ユーザー (Debug Tool コマンドを使用) またはプログラムが、変数の宣言で指定された値の 1 つに変数を事前に設定しておく必要があります。
この作業を行わないと、Debug Tool の動作は予測不能になります。
- 条件を使用する場合、条件で使用される変数、またはその条件は、
ブレークポイントが設定された時点ではなく、AT CHANGE コマンドに関連付けられた場所が変更されたときに評価されます。
- 条件で使用できるのは、次の条件演算子のみです。
- =
- 2 つのオペランドの同等性を比較する。
- ¬=
- 2 つのオペランドの不等性を比較する。
- <
- 左方のオペランドが右方のオペランドより小さいか否かを判断する。
- >
- 左方のオペランドが右方のオペランドより大きいか否かを判断する。
- <=
- 左方のオペランドが右方のオペランドより小または等しいかどうかを判断する。
- >=
- 左方のオペランドが右方のオペランドより大または等しいかどうかを判断する。
- &
- 論理「AND」演算。
- |
- 論理「OR」演算。
- AT CHANGE コマンドを WHEN 条件とともに使用する場合、変数が変更されるたびに条件が評価されます。
条件が true に評価されると、Debug Tool は、ブレークポイントに関連付けられているコマンドの停止と実行を行います。
- Debug Tool が condition を評価し、condition が無効の場合、Debug Tool は以下のいずれかのアクションを実行します。
- SET WARNING が ON に設定されている場合、Debug Tool は停止して、condition を評価できなかったというメッセージを表示します。
Debug Tool に実行させるアクションを指定するコマンドを入力する必要があります。
- SET WARNING が OFF に設定されている場合、Debug Tool は停止せず、また condition を評価できなかったというメッセージも表示しません。Debug Tool はプログラムの実行を続行します。
- 有効数字 8 桁を超える address を指定したか reference が 64 ビット・アドレス可能ストレージを参照する場合、Debug Tool は、ストレージ・ロケーションは 64 ビット・アドレス可能ストレージであると想定します。それ以外の場合、Debug Tool は、ストレージ・ロケーションは 31 ビット・アドレス可能ストレージであると想定します。
例
- 変数 varbl1 または varbl2 の値の変更が検出される
たびに、現行の位置を識別します。現行のプログラム言語の設定は COBOL です。
AT CHANGE (varbl1, varbl2) PERFORM
QUERY LOCATION;
GO;
END-PERFORM;
- 16 進アドレス 22222 のストレージに変更があった場合に、ログにメッセージを表示します。ストレージの 8 バイトが監視されます。現行のプログラム言語の設定は C です。
AT CHANGE %STORAGE (0x00022222, 8)
LIST "Storage has changed at hex address 22222";
- 16 進アドレス 1000 のストレージに変更があった場合に、2 つのブレークポイントを設定します。変数 x は 16 進アドレス 1000 で定義され、長さは 20 バイトです。最初のブレークポイントでは、ストレージの 20 バイトが監視されます。2 番目のブレークポイントでは、ストレージの 50 バイトが監視されます。現行のプログラム言語の設定は C です。
AT CHANGE %STORAGE (0x00001000, 20) /* Breakpoint 1 set */
AT CHANGE %STORAGE (0x00001000, 50) /* Breakpoint 2 set */
AT CHANGE x /* Replaces breakpoint 1, since x is at */
/* hex address 1000 and is 20 bytes long */
- 200 より大きな値に変数が到達したときに停止します。
AT CHANGE MYVAR WHEN MYVAR > 200 ;
MYVAR > 200 は条件です。
MYVAR の値が変更されるたびに、条件 MYVAR > 200 が評価されます。
MYVAR が変更されても AT CHANGE ブレークポイントは起動されません。
MYVAR が変更されて、さらに 条件 MYVAR > 200 が true になった
場合にのみ、AT CHANGE ブレークポイントが起動されます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT CHANGE コマンド (リモート・デバッグ・モード)
プログラムが指定された変数値を変更する際に Debug Tool に制御を渡します。
- 'reference' または "reference"
- 現行のプログラム言語で有効な Debug Tool 参照。
使用上の注意
- AT CHANGE コマンドを入力すると、ブレークポイントはプログラムが停止する位置に対して相対的に設定されます。これは、ソース・ビューに表示されるプログラムでない場合があります。
例えば、ユーザーのプログラムが、プログラム MAIN1 に呼び出されたプログラム SUB1 で停止し、
ソース・ビューにはプログラム SUB1 のソースが表示されます。次に、デバッグ・ビューの MAIN1 をクリックすると、
ソース・ビューに MAIN1 のソースが表示されます。AT CHANGE "Var1" コマンドを入力すると、ブレークポイントは、MAIN1 の変数 "Var1" ではなく、SUB1 の変数 "Var1" に対する変更をモニターするように設定されます。
- COBOL レベル 88 変数に AT CHANGE コマンドを使用するには、言語環境プログラム APAR PK12834 用の PTF を z/OS バージョン 1 リリース 6 およびバージョン 1 リリース 7 にインストールしておく必要があります。
- OPEN OUTPUT または EXTEND である BLOCKED QSAM ファイルのファイル・レコードに AT CHANGE ブレークポイントが
設定される場合、そのブレークポイントは WRITE ステートメントの使用時に期待通りに機能しないことがあります。
この場合のブレークポイントの動作は、ファイル・レコードがデータ管理バッファーにマップされているために予測することができません。
このような場合に AT CHANGE の動作を予測可能にするには、SAME RECORD AREA 文節を使用するようにファイルをセットアップします。
- データは、ストレージ内にある場合にのみ監視されます。
したがって、コンパイラーの最適化処理の結果としてレジスターに保持されている値は監視できません。
さらに、Debug Tool 変数の %GPRn、%Rn、%FPRn、%LPRn、%EPRn、
およびレジスターを表すアセンブラーまたは逆アセンブル・シンボルも監視できません。
- 監視の対象はバイト全体です。バイトのなかのビットまたは
ビット・ストリングを取り出しての監視はできま
せん。
- AT CHANGE ブレークポイントはストレージのアドレスと長さによって識別される
ため、ストレージ内の同じ区域 (同じアドレスと長さ) を指定した 2 つ
の AT CHANGE ブレークポイントをもつことはできません。すなわち、ストレージのアドレスと長さが同じである場合、AT CHANGE コマンドは
前の AT CHANGE コマンドに置き換わります。ただし、その他のオーバーラップは無視され、ブレークポイントは 2 つの別々の変数を
区切るものと見なされます。例えば、ストレージのアドレスが同じでも長さが異なると、AT CHANGE コマンドは前の AT CHANGE を置き換えません。
- 複数の AT CHANGE ブレークポイントが同時に起動されると、AT CHANGE ブレークポイントは入った順に起動されます。
ただし、あるブレークポイントの起動が原因で別のブレークポイントによって監視される変数が変更される場合、その起動の順序は、必ずしも最初に入った順にはなりません。例えば、次のようになります。
AT CHANGE y LIST y;
AT CHANGE x y = 4;
GO;
プログラム内で次に実行されるステートメントによって x の値が変更されると、Debug Tool が制御を獲得したときに、CHANGE x ブレークポイントが起動されます。
CHANGE x の処理によって、y の値は変更します。CHANGE x が起動されたことが通知された後に GO; と
入力すると、Debug Tool は、プログラムに制御を戻す前に、CHANGE y ブレークポイントを起動します。
この場合、CHANGE y ブレークポイントが先に入力されましたが、CHANGE x ブレークポイントの方が先に起動されました (これによって、CHANGE y ブレークポイントが起動されるため)。
- 参照された変数は、AT CHANGE ブレークポイントが定義された時点で存在していなければなりません。
- AT CHANGE ブレークポイントは、指定された変数が定義されなくなった時点で
自動的に除去されます。C の静的変数に対する AT CHANGE は、変数を定義しているモジュールが
ストレージから除去されたときに、除去されます。malloc() または calloc() を使用して割り振られる C ストレージでは、動的ストレージが free() によって解放された場合に、このような状況が生じます。
- 変更は即時には検出されませんが、
ストレージ値または変数値を変更できるコマンドが完了した場合に限り検出されます。
- C および C++ AT CHANGE ブレークポイント要件
- 変数は左辺値または配列でなければなりません。
- 変数がパラメーターの場合または変数のストレージ・クラスが auto で
ある場合には、その変数をアクティブなブロック内で宣言しなければなりません。
- 静的変数について定義された CHANGE ブレークポイントは、その変数が
宣言されたファイルがアクティブでなくなると、自動的に除去されます。外部変数の場合に定義された CHANGE ブレークポイントは、その変数が
宣言されたモジュールがアクティブでなくなると、自動的に除去されます。
- reference がポインターの場合、Debug Tool は、
そのポインターが指定するアドレスにあるストレージの内容が変更されると、停止します。
- COBOL の AT CHANGE ブレークポイントの要件
- ストレージ・アドレスを使用する AT CHANGE は、グループ内の
可変サイズ・エレメントまたはサブグループの後に続くデータ項目を参照してはなりません。可変サイズ・エレメントがサイズを変更した場合、COBOL はグループを動的に再マップします。
- 可変サイズのエレメントの割り振り済みストレージに続く変数
の検査の際には注意が必要です。このエレメントのサイズが変更されたときには、COBOL は動的にそのエレメントのストレージを再マップします。これにより、検査したい変数のアドレスが変更されることがあります。
- COBOL ファイル・レコードの CHANGE ブレークポイントは、そのファイルがオープンされる前に設定することはできません。
- 変数がローカル・ストレージ・セクションにある場合、アクティブなブロックで宣言する必要があります。
- PL/I の AT CHANGE ブレークポイントの要件
- 基底変数または被制御変数の場合は、それらが解放されるとき
に、また、パラメーターおよび AUTOMATIC 変数の場合は、それらが宣言されているブロックがアクティブでなくなったときに、それぞれ CHANGE ブレークポイントが除去されます。
- CHANGE は、単一スカラー・エレメントの構造体のみをモニターします。複数のスカラー・エレメントを含んでいる構造体は、サポートされていません。
- 変数は、現行ブロックに関して有効な参照をしていることが必要です。
- 参照している変数が存在しなくなると、ブレークポイントは除去されます。
- CHANGE ブレークポイントは、被制御変数の現行世代に割り振られたストレージを
モニターします。その後に新世代の割り振りがなされても、モニターされるわけではありません。
- アセンブラーまたは逆アセンブリーのプログラムの STORAGE RELEASE
マクロでストレージを解放すると、そのストレージがいつ解放されるかは検出できません。
STORAGE RELEASE マクロによって解放されたストレージに AT CHANGE ブレークポイントを
設定した場合、予期しない時点でブレークポイントが起動されるなど、予期しない結果が生じる可能性があります。
- 最適化 COBOL プログラムでは、指定された変数はコンパイラー最適化により廃棄された変数であってはなりません。
- AT CHANGE コマンドでレベル 88 変数を使用すると、値の現行設定値が保存されます。
Debug Tool は、レベル 88 変数の設定値が保存済みの値から別の値に変更された場合にのみブレークポイントで停止します。
例えば、保存済みの値が TRUE で、新規の値が FALSE の場合に、Debug Tool はブレークポイントで停止します。
- AT CHANGE コマンドでレベル 88 変数を使用するには、ユーザー (Debug Tool コマンドを使用) またはプログラムが、変数の宣言で指定された値の 1 つに変数を事前に設定しておく必要があります。
この作業を行わないと、Debug Tool の動作は予測不能になります。
- reference が 64 ビット・アドレス可能ストレージを参照する場合、Debug Tool は、
ストレージ・ロケーションは 64 ビット・アドレス可能ストレージであると想定します。
それ以外の場合、Debug Tool は、ストレージ・ロケーションは 31 ビット・アドレス可能ストレージであると想定します。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT CURSOR コマンド (フルスクリーン・モード)
ステートメント・ブレークポイントを設定するためのカーソル制御方式を提供します。これは、PF キーに割り当てられた場合に最も役に立ちます。
- TOGGLE
- カーソル選択ステートメントがステートメント・ブレークポイントに割り当て済みの場合には、ブレークポイントは置換ではなく除去されるように指定します。
使用上の注意
- AT CURSOR では、every_clause または command を指定することはできません。
- セミコロンは使用しないでください。
- カーソルは、ソース・ウィンドウの実行可能ステートメントが始まる行に
置いておくことが必要です。その行の最初の実行可能ステートメントに AT STATEMENT コマンドが
生成され、実行されます (あるいは、そのステートメントがすでに定義
され、TOGGLE が指定されている場合には消去されます)。最適化 COBOL プログラムでは、行の最初のステートメントは最適化の影響によって廃棄されてしまう場合があります。したがって、最初の実行可能ステートメントは、2 番目以降のステートメントである場合があります。
- AT CURSOR コマンドは、PLAYBACK コマンドを使用して記録されたステートメントを再生している間は使用できません。
例
PF キーを定義して、カーソル位置でブレークポイント設定値をトグルします。
SET PF10 = AT TOGGLE CURSOR;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT DATE コマンド (COBOL)
指定したブロック内の各日付処理ステートメントごとに、Debug Tool に制御を渡します。日付処理ステートメントは、日付フィールドを参照するステートメントです。すなわち、日付フィールドを参照する EVALUATE ステートメントまたは SEARCH ステートメントの WHEN 句です。
- *
- 日付処理ステートメントごとにブレークポイントを設定します。
- command
- 有効な Debug Tool コマンド。
使用上の注意
- AT DATE を使用した場合に、実行が停止するのは、DATEPROC コンパイラー・オプションを
指定してコンパイルされた COBOL コンパイル単位に対してのみです。
- AT DATE コマンドは、PLAYBACK コマンドを使用して記録されたステートメントを再生している間は使用できません。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT DELETE コマンド
正常に行われた C release()、COBOL CANCEL、PL/I RELEASE、アセンブラー DELETE マクロ、
または EXEC CICS RELEASE の完了時など、言語環境プログラム、MVS、または CICS 削除サービスによってロード・モジュールをストレージから除去するときに
Debug Tool に制御を与えます。
- *
- ロード・モジュールの DELETE のたびに、ブレークポイントを設定します。
- command
- 有効な Debug Tool コマンド。
使用上の注意
- Debug Tool は、言語環境プログラム削除サービス、MVS 削除サービス、または EXEC CICS RELEASE の影響を受ける削除の場合に制御を得ます。
動的デバッグ機能が非アクティブにされるか (SET DYNDEBUG OFF コマンドを入力して)、または
SVC スクリーニングが使用不可にされている場合、MVS 削除サービスの影響を受ける削除は Debug Tool に通知されません。
SVC スクリーニングを制御する方法について詳しくは、「Debug Tool カスタマイズ・ガイド」を参照してください。
- AT DELETE で初期ロード・モジュールを指定することはできません。
- ブレークポイントを親エンクレーブで設定すると、アプリケーションが子エンクレーブで
実行中でも、コマンドによってブレークポイントが起動され、処理されます。
- Debug Tool での CICS アプリケーションでは、アプリケーションの最後のプロセスの終了でこのブレークポイントは消去されます。Debug Tool での CICS 以外の
アプリケーションでは、プロセスの終了で消去されます。
- AT DELETE コマンドは、PLAYBACK コマンドを使用して記録されたステートメントを再生している間は使用できません。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT ENTRY コマンド
指定されたブロック内の指定された入り口点にブレークポイントを定義します。
- *
- どのブロックでも ENTRY ごとにブレークポイントを設定します。
- command
- 有効な Debug Tool コマンド。リモート・デバッグ・モードを
使用する場合、 リモート・デバッグ・モードでサポートされるコマンドのみを指定できます。
- condition
- 有効な Debug Tool の条件式。
使用上の注意
- VS COBOL II プログラムの場合、Debug Tool は AT ENTRY * コマンドのみをサポートします。
- Debug Tool に現在認識されていないプログラムに対して AT ENTRY ブレークポイントを指定するには、次の指示に従います。
- プログラム名が block_spec と同じ場合は、block_spec をプログラム名で修飾する必要はありません。
- プログラム名が block_spec と異なる場合は、block_spec をプログラム名で修飾する必要があります。
Debug Tool は、指定されたプログラム名に一致するプログラム名を検出すると、
ブレークポイントを設定します。
- 非アクティブになるコンパイル単位に設定されている ENTRY ブレークポイント (現在のエンクレーブ内にないもの) は、そのコンパイル単位がアクティブになるまで、中断 されます。ストレージから削除されるコンパイル単位に設定された ENTRY ブレークポイントは、そのコンパイル単位が再ロードされるまで中断されます。
中断されたブレークポイントは、再活動化されるまで起動できません。
- Debug Tool での CICS アプリケーションでは、アプリケーションの最後のプロセスの終了でこのブレークポイントは消去されます。Debug Tool での CICS 以外の
アプリケーションでは、プロセスの終了で消去されます。
- 取り出されたプログラムまたはロードされたプログラムが解放されると、そのプログラム内のブロックの ENTRY ブレークポイントは、据え置きブレークポイントに変換されます。
- AT ENTRY コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生している間は使用できません。
- 組み込みコンパイル・ユニットにデバッグ・データを使用できない場合、AT ENTRY コマンドを使用して、
最初のエンクレーブ以外のエンクレーブでは言語環境プログラム MAIN ルーチンへの入り口で停止することはできません。
- WHEN 条件を指定することによって、AT ENTRY ブレークポイントが発生する状況を限定できます。
WHEN 条件が指定されている場合、指定された入り口点が現行入り口点と一致し、WHEN 条件が true であれば、Debug Tool は AT ENTRY ブレークポイントで停止します。
- 以下の条件演算子は、次の条件で使用できます。
- =
- 2 つのオペランドの同等性を比較する。
- ¬=
- 2 つのオペランドの不等性を比較する。
- <
- 左方のオペランドが右方のオペランドより小さいか否かを判断する。
- >
- 左方のオペランドが右方のオペランドより大きいか否かを判断する。
- <=
- 左方のオペランドが右方のオペランドより小または等しいかどうかを判断する。
- >=
- 左方のオペランドが右方のオペランドより大または等しいかどうかを判断する。
- &
- 論理「AND」演算。
- |
- 論理「OR」演算。
- AT ENTRY コマンドを WHEN 条件を指定して使用すると、Debug Tool が入り口に達するたびに条件が評価されます。
条件が true に評価されると、Debug Tool は、ブレークポイントに関連付けられているコマンドの停止と実行を行います。
- Debug Tool が条件を評価し、条件が無効の場合、Debug Tool は以下のいずれかのアクションを実行します。
- SET WARNING が ON に設定されている場合、Debug Tool は停止して、条件を評価できなかったというメッセージを表示します。
Debug Tool に実行させるアクションを指定するコマンドを入力する必要があります。
- SET WARNING が OFF に設定されている場合、Debug Tool は停止せず、また条件を評価できなかったというメッセージも表示しません。Debug Tool はプログラムの実行を続行します。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT ENTRY コマンド (リモート・デバッグ・モード)
指定されたブロックの入り口点にブレークポイントを定義します。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT EXIT コマンド
指定されたブロック内の指定された出口点にブレークポイントを定義します。
- *
- すべてのブロックの EXIT ごとにブレークポイントを設定します。
- command
- 有効な Debug Tool コマンド。
使用上の注意
- VS COBOL II プログラムの場合、Debug Tool は AT EXIT * コマンドのみをサポートします。
- AT EXIT ブレークポイントを設定できるのは、現在取り出されているか
ロードされているプログラムに対してのみです。
現時点で未知のコンパイル単位に対して出口のブレークポイント
を設定するには、AT APPEARANCE コマンドを使用します。
- 非アクティブになるコンパイル単位に設定されている EXIT ブレークポイント (現行のエンクレーブ内にないもの) は、そのコンパイル単位がアクティブになるまで、中断 されます。ストレージから削除されるコンパイル単位に設定された EXIT ブレークポイントは、コンパイル単位が再ロードされるまで中断されます。
中断されたブレークポイントは、再活動化されるまで起動できません。
- Debug Tool での CICS アプリケーションでは、アプリケーションの最後のプロセスの終了でこのブレークポイントは消去されます。Debug Tool での CICS 以外の
アプリケーションでは、プロセスの終了で消去されます。
- 取り出されたプログラムまたはロードされたプログラムが解放されると、そのプログラム内のブロックの EXIT ブレークポイントが除去されます。
- AT EXIT コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
- AT EXIT コマンドは、逆アセンブリー・コンパイル単位では使用できません。
- AT EXIT コマンドは、非言語環境プログラム COBOL コンパイル単位では使用できません。
- アセンブラーの場合のみ: AT EXIT
は、内部ルーチンまたは外部ルーチンからの出口で制御を受け取ります。EXIT は、次の opcode のいずれかに定義します。
- BR
- BALR、BASR、または BASSM (後に有効な命令がない場合)
例
main の出口において、メッセージを表示し、SIGUSR1 条件を TRIGGER します。現行のプログラム言語の設定は C です。
AT EXIT main {
puts("At exit of the program");
TRIGGER SIGUSR1;
GO;
}
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT GLOBAL コマンド
指定した AT 条件が発生するたびに、Debug Tool に制御を渡します。これらのブレークポイントは、それらの非グローバル・ブレークポイントとは無関係
です (AT GLOBAL PATH と同じになる AT PATH を除く)。グローバル・ブレークポイントは常に、それらの特定非グローバル・ブレークポイントより先に
実行されます。
- command
- 有効な Debug Tool コマンド。
どこにブレークポイントを設定するかに関して特定の情報がない場合には、GLOBAL ブレークポイントを使用してください。例えば、ブロック Abcdefg_Unknwn への入り口で停止したい場合に、その名前が思い出せないときは、AT GLOBAL ENTRY を出すと、Debug Tool が、ブロックが入力されるたびに停止します。すべての関数呼び出しで停止したい場合には、AT GLOBAL CALL を
出します。
使用上の注意
- Debug Tool は、逆アセンブルまたは VS COBOL II プログラムに関しては、AT CALL、AT LABEL、および AT PATH コマンドをサポートしません。
- Debug Tool は、非言語環境プログラム COBOL プログラムに関しては AT CALL コマンドをサポートしません。
- グローバル・ブレークポイントを設定する場合、AT コマンドにアスタリスク (*) を
指定するか、AT GLOBAL コマンドを指定することができます。
- GLOBAL ブレークポイントを定義して、同一の位置またはイベントにある、同一タイプの
単一ブレークポイントと共存させることはできますが、COBOL では、同一の位置またはイベントの場合は、同一タイプの単一ブレークポイントを複数定義することはできません。最後に定義したブレークポイントにより、それまでのブレークポイントが置換されます。
- AT GLOBAL コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生している間は使用できません。
例
- グローバルな AT ENTRY ブレークポイントを設定するには、次のように指定します。
AT ENTRY *;
または
AT GLOBAL ENTRY;
- 各ステートメントまたは行ごとに、ステートメントまたは行を識別する
メッセージを表示します。現行のプログラム言語の設定は COBOL です。
AT GLOBAL STATEMENT LIST ('At Statement:', %STATEMENT);
- 次のように入力して (COBOL の場合)、
AT EXIT table1 PERFORM
LIST TITLED (age, pay);
GO;
END-PERFORM;
さらに、次のように入力すると、
AT EXIT table1 PERFORM
LIST TITLED (benefits, scale);
GO;
END-PERFORM;
プログラムがブロック table1
の出口点に達したときに、benefits と scale のみがリストされます。
同一の位置に対して 2 つのブレークポイントが定義されているため、2 番目の AT EXIT によって最初の AT EXIT が置き換えられます。
ただし、以下の GLOBAL ブレークポイントを最初の EXIT ブレークポイントに定義した場合、
プログラムが table1 からの出口に達すると、4 つの変数すべて
(age、pay、benefits、および scale) がその値とともにリストされます。
これは、GLOBAL EXIT ブレークポイントが、table1 に設定された EXIT ブレークポイントと共存できるためです。
AT GLOBAL EXIT PERFORM
LIST TITLED (benefits, scale);
GO;
END-PERFORM;
- GLOBAL DATE ブレークポイントを設定するには、次のように指定します。
AT DATE *;
または
AT GLOBAL DATE;
- グローバル・ブレークポイントを他の Debug Tool コマンドと結合するには、次のように指定します。
AT GLOBAL DATE QUERY LOCATION;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT LABEL コマンド
実行が、指定されたステートメント・ラベルまたはラベルのグループに
達したときに、Debug Tool に制御を渡します。C および PL/I で、1 つのステートメントに関連付けられているラベルが複数ある
場合は、複数のラベルを指定することができ、Debug Tool はそれぞれのラベルで
制御を得ます。COBOL では、AT LABEL によって複数のラベルを指定することができます
が、1 つのステートメントに関連付けられている複数ラベルのグループでは、Debug Tool はその
ステートメントについては 1 回しか制御を取得しません。
- *
- LABEL ごとにブレークポイントを設定します。
- command
- 有効な Debug Tool コマンド。
使用上の注意
例
- 現在修飾されているブロック内のラベル create でブレークポイントを
設定します。
AT LABEL create;
- プログラム・ラベル para OF sect1 で変数名 x および y と
それらの値を表示し、プログラム実行を継続します。現行のプログラム言語の設定は COBOL です。
AT LABEL para OF sect1 PERFORM
LIST TITLED (x, y);
GO;
END-PERFORM;
- ラベル label1 および label2 が同じステートメント
に関連付けられている場合でも、両方のラベルでブレークポイントを設定します。現行のプログラム言語の設定は C です。
AT LABEL label1 LIST 'Stopped at label1'; /* Label1 is first */
AT LABEL label2 LIST 'Stopped at label2'; /* Label2 is second */
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT LINE コマンド
指定した行に至ると Debug Tool に制御を渡します。
AT LINE コマンドは、AT STATEMENT コマンドと同義です。
逆アセンブルされたプログラムのデバッグ中は、AT LINE コマンドを使用できません。その代わりに、AT OFFSET コマンドを使用します。
AT LINE コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT LOAD コマンド
指定されたロード・モジュールがストレージに呼び込まれたときに、Debug Tool に制御を渡します。
例えば、C の fetch()、PL/I の FETCH が正常に完了した時点、または
COBOL の動的 CALL、MVS LOAD サービス、
または EXEC CICS LOAD 中に、Debug Tool に制御が渡されます。
COBOL DLL 内のコンパイル単位またはプログラムを停止するには、AT APPEARANCE を使用します。指定されたロード・モジュールについて活動化されたブレークポイントは、そのロード・モジュールが解放されて再度取り出されるまで、あるいは指定された名前を持つ別のロード・モジュールが取り出されるまでは
再び活動化されることはありません。
LOAD ブレークポイントは、どのコンパイラー・オプションが有効になっているのかに
かかわらず設定することができます。
- *
- ロード・モジュールの LOAD のたびに、ブレークポイントを設定します。
- command
- 有効な Debug Tool コマンド。
使用上の注意
- Debug Tool は、言語環境プログラムのロード・サービス、MVS LOAD サービス、または EXEC CICS LOAD の影響を受けるロードで、
制御を受け取ります。
LOAD ブレークポイントは、新しいエンクレーブに入ると、起動されます。動的デバッグ機能
が非アクティブにされるか (SET DYNDEBUG OFF コマンドを入力して)、または
SVC スクリーニングが使用不可にされている場合、MVS LOAD サービスの影響を受ける削除は Debug Tool に通知されません。
SVC スクリーニングを制御する方法について詳しくは、「Debug Tool カスタマイズ・ガイド」を参照してください。
- AT LOAD を使用して、特定の言語ライブラリーのロード・モジュールの
ロードを検出することが可能ですが、言語ライブラリーのロード・モジュールのロードでは、AT GLOBAL LOAD または
AT LOAD * を起動しません。
- AT LOAD は初期ロード・モジュールを指定することができません。これは、Debug Tool が起動されたときにそれがすでにロードされているためです。
- ブレークポイントを親エンクレーブで設定すると、アプリケーションが子エンクレーブで実行中でも、ブレークポイント・コマンドによってブレークポイントが起動され、処理されます。
- Debug Tool での CICS アプリケーションでは、アプリケーションの最後のプロセスの終了でこのブレークポイントは消去されます。Debug Tool での CICS 以外の
アプリケーションでは、プロセスの終了で消去されます。
- 暗黙的または明示的にロードした DLL の AT LOAD は、Debug Tool ではサポートされていません。
- ご使用の C コンパイラーまたは C++ コンパイラーのバージョンによっては、Debug Tool が DLL 内のコンパイル単位を認識するのが、その中の関数が呼び出された後になる場合があります。例えば、DLL が、CU file1 内に関数 fn1 を
含み、CU file2 内に fn2 を含んでいる場合、fn1 を呼び出しても、Debug Tool は file2 を
認識できず、file1 だけを認識します。同様に、fn2 を呼び出しても、Debug Tool は file1 を
認識できません。
- C、C++、および PL/I の場合、LOAD ブレークポイントの起動の時点で、Debug Tool は、ブレークポイントを設定し、静的ストレージ・クラスと外部ストレージ・クラスの変数を検査するための、ロード済みモジュールに関する十分な情報を持っています。
- COBOL、C および C++ DLL に対して LOAD ブレークポイントを起動した時点
では、ロード済みモジュールについて、Debug Tool は、そのモジュール内に含まれる
ブロックにブレークポイントを設定するための十分な情報をもっていません。ただし、これらのブレークポイントは、APPEARANCE ブレークポイントの起動の時点で
設定することができます。
- AT LOAD コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT LOAD コマンド (リモート・デバッグ・モード)
指定されたロード・モジュールがストレージに呼び込まれたときに、Debug Tool に制御を渡します。
例えば、C の fetch()、PL/I の FETCH が正常に完了した時点、または
COBOL の動的 CALL、MVS LOAD サービス、
または EXEC CICS LOAD 中に、Debug Tool に制御が渡されます。
指定されたロード・モジュールについて活動化されたブレークポイントは、そのロード・モジュールが解放されて再度取り出されるまで、あるいは指定された名前を持つ別のロード・モジュールが取り出されるまでは
再び活動化されることはありません。
LOAD ブレークポイントは、どのコンパイラー・オプションが有効になっているのかに
かかわらず設定することができます。
AT OCCURRENCE コマンド
言語または言語環境プログラムでの条件または例外、あるいは
MVS
または CICS
の ABEND の発生で、Debug Tool に制御を渡します。
- condition
- 有効な条件または例外。これには、以下のコードまたは条件
のいずれかがあります。
- 言語環境プログラムのシンボリック・フィードバック・コード。
- 現在のプログラム言語の設定値によって、言語指向のキーワードまたはコード。
- MVS システムまたはユーザーの ABEND コードの Sxxx または Uxxx。
ここで、xxx は、目的の ABEND コードに対応する 3 桁の 16 進数字です。
これらのコードは、言語環境プログラム・ランタイムなしで実行しているときにのみ有効です。
- CICS ABEND コードを表す任意の 4 文字ストリング。
このコードは、言語環境プログラム・ランタイムなしで実行しているときにのみ有効です。
次に、C および C++ の条件定数を示します。大文字を使用し、省略なしの記述が必要です。
|
SIGABND
SIGABRT
SIGFPE
|
SIGILL
SIGINT
SIGIOERR
SIGSEGV
|
SIGTERM
SIGUSR1
SIGUSR2
THROWOBJ
|
C++ ユーザーが AT CONDITION THROWOBJ を指定すると、Debug Tool は、C++ コードの throw の時点で、ユーザーに制御を移動します。
PL/I 条件定数を使用できます。ただし、FILE 条件定数および CONDITION 条件定数は、Enterprise PL/I プログラムをデバッグしているときには使用できません。
COBOL の条件定数はありません。その代わりに、言語環境プログラムのシンボリック・フィードバック・コード (例えば、CEE347) を使用しなければなりません。
TRAP(ON) ランタイム・オプションを使用して、言語環境プログラム条件、または MVS か CICS
の ABEND で停止する必要があります。
- command
- 有効な Debug Tool コマンド。
プログラムの条件および条件処理は、言語によって異なります。各言語に適応するように OCCURRENCE ブレークポイントが使用するメソッドは、以下に説明するとおりです。
C および C++ の場合:
セッション中に C および C++ または、言語環境プログラム条件が発生すると、以下の一連のイベントが発生します。
- Debug Tool は、C または C++ シグナル・ハンドラーより先に起動されます。
- その条件について OCCURRENCE ブレークポイントを設定してある場合に
は、Debug Tool は、そのブレークポイントを処理し、指定されているコマンドを実行します。その条件について OCCURRENCE ブレークポイントを設定していない場合で、かつ
- 現行のテスト・レベル設定値が ALL である場合は、Debug Tool は、コマンドの入力を求めるプロンプトを出すか、あるいはコマンド・ファイルからコマンドを読み取ります。
- 現行のテスト・レベル設定値が ERROR であり、その条件に
エラーの重大度レベル (すなわち、SIGUSR1、SIGUSR2、SIGINT、または SIGTERM 以外の条件) がある場合は、Debug Tool は、プロンプトを出すか、コマンド・ファイルからの読み取りによって
コマンドを入手します。
- 現行のテスト・レベル設定値が NONE である場合は、Debug Tool は
その条件を無視し、プログラムに制御を戻します。
同一内容の C および C++ シグナルおよび言語環境プログラム条件に関して OCCURRENCE ブレークポイントを
設定することができます。例えば、同一のデバッグ・セッション中
に AT OCCURRENCE CEE345 と AT OCCURRENCE SIGSEGV を設定
することができます。これらはいずれもアドレッシング例外を表すものであって、両方のブレークポイントを
設定しても、エラーは発生しません。ただし、ある条件に関して C、C++ と言語環境プログラムの両方の指定子を
使用して OCCURRENCE ブレークポイントを設定した場合には、起動されるブレークポイントは言語環境プログラムのブレークポイントのみです。C 条件に関連付けられたコマンド・リストは、いずれも実行されません。
OCCURRENCE ブレークポイントを使用して、エラーに対するプログラムの応答を
制御することができます。
使用上の注意
- アプリケーション・プログラムがその条件に対して例外ハンドラーも作成して
ある場合、Debug Tool が制御を手放すとその例外ハンドラーに制御が移ります。ただし、GO BYPASS あるいは特定のステートメントへの GOTO を
使用して戻る場合を除きます。
- COBOL IGZ 条件に対する OCCURRENCE ブレークポイントの設定は、COBOL 実行時モジュールが初期設定されたあとでのみ可能です。
- C、C++ および PL/I の場合、ある種の言語環境プログラム条件は、C および C++ SIGxxx の
値および PL/I の条件定数にマップします。同じ条件であれば、2 つの AT OCCURRENCE ブレークポイントに入る
ことができます。例えば、1 つのブレークポイントには言語環境プログラム条件名で入り、他方には C および C++ の SIGxxx 条件定数で入ることができます。この場合、言語環境プログラム条件名の AT OCCURRENCE ブレークポイント
が起動され、C または C++ 条件定数の AT OCCURRENCE ブレークポイントは、起動されません。ただし、言語環境プログラム条件名の AT OCCURRENCE ブレークポイントが定義されていない
場合、該当のマップ済み C、C++、または PL/I 条件定数は起動されます。
- このブレークポイントを親エンクレーブで設定した場合、アプリケーションが子エンクレーブで実行中でも、ブレークポイント・コマンドによってブレークポイントが起動され、処理されます。
- Debug Tool での CICS アプリケーションでは、アプリケーションの最後のプロセスの終了でこのブレークポイントは消去されます。Debug Tool での CICS 以外の
アプリケーションでは、プロセスの終了で消去されます。
- COBOL の場合、Debug Tool は言語環境プログラム条件を検出します。セッション中に言語環境プログラム条件が発生すると、以下の一連のイベントが発生します。
- 条件処理ルーチンよりも先に Debug Tool が起動されます。
- その条件について OCCURRENCE ブレークポイントを設定してある場合に
は、Debug Tool は、そのブレークポイントを処理し、指定されているコマンドを実行します。その条件について OCCURRENCE ブレークポイントが設定されていない場合で、かつ
- 現行のテスト・レベル設定値が ALL である場合は、Debug Tool は、コマンドの入力を求めるプロンプトを出すか、あるいはコマンド・ファイルからコマンドを読み取ります。
- 現行のテスト・レベル設定値が ERROR であって、その条件の
エラーの重大度レベルが 2 以上である場合は、Debug Tool はプロンプトを出すか
コマンド・ファイルから読み取ることによってコマンドを入手します。
- 現行のテスト・レベル設定値が NONE である場合は、Debug Tool は
その条件を無視し、プログラムに制御を戻します。
OCCURRENCE ブレークポイントを使用して、エラーに対するプログラムの応答を
制御することができます。
- PL/I の場合、Debug Tool は言語環境プログラム条件および PL/I 条件を検出します。条件が発生すると、Debug Tool は、条件処理ルーチンより先に起動されます。指定された条件に対して、ON コマンドを出すか、OCCURRENCE ブレークポイントを
設定すると、Debug Tool は関連のコマンドを実行します。
- AT OCCURRENCE または ON が設定されていない場合で、かつ
- 現行のテスト・レベル設定値が ALL である場合は、Debug Tool は、コマンドの入力を求めるプロンプトを出すか、あるいはコマンド・ファイルからコマンドを読み取ります。
- 現行のテスト・レベル設定値が ERROR であって、その条件のエラーの重大度
レベルが 2 以上である場合は、Debug Tool はプロンプトを出すかコマンド・ファイルから読み取る
ことによってコマンドを入手します。
- 現行のテスト・レベル設定値が NONE である場合は、Debug Tool は
その条件を無視し、プログラムに制御を戻します。
- Debug Tool が制御をプログラムに戻すと、関係のある PL/I ON ユニットが
実行されます。
- SPIE または ESPIE を使用するプログラムを、SPIE または ESPIE がアクティブであるときにデバッグする場合、プログラムは、CALL コマンドの使用が原因で発生するプログラム・チェックを除く、すべてのプログラム・チェックに対して TRAP(OFF) が指定されたように動作します。
- ESTAE または ESTAEX を使用するプログラムを、ESTAE または ESTAEX がアクティブであるときにデバッグする場合、プログラムは、プログラム・チェックを除く、すべての異常終了に対して TRAP(OFF) が指定されたように動作します。
Debug Tool では条件は処理されません。
ESTAE または ESTAEX 出口は、プログラム・チェックを除く、異常終了を処理します。
- AT OCCURRENCE コマンドは、記録された
ステートメントを PLAYBACK コマンドを使用して再生している間は使用できません。
例
- データ例外が発生した場合に、現行の位置を照会します。現行のプログラム言語の設定は、C または COBOL のいずれかです。
AT OCCURRENCE CEE347 QUERY LOCATION;
- 言語環境プログラム・ランタイムなしに MVS で実行した場合は (すなわち、EQANMDBG の下で)、システム 0C1 ABEND が発生すると、以下のコマンドで現在の CU に関する情報をリストします。
AT OCCURRENCE S0C1 DESCRIBE CUS;
- SIGSEGV 条件が発生した場合に、エラー・フラグを設定して、ユーザー終了ルーチンを呼び出します。現行のプログラム言語の設定は C です。
AT OCCURRENCE SIGSEGV {
error = 1;
terminate (error);
}
- SIGFPE が CEE347 にマップし、以下のブレークポイントが定義されているとします。現行のプログラム言語の設定は C です。
AT OCCURRENCE SIGFPE LIST "SIGFPE condition";
AT OCCURRENCE CEE347 LIST "CEE347 condition";
言語環境プログラム条件の CEE347 が発生した場合、CEE347 ブレークポイントが起動されます。
ただし、ブレークポイントが CEE347 について定義されなかった場合に CEE347 条件が発生すると、SIGFPE ブレークポイントが起動されます (CEE347 にマップされるため)。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT OFFSET コマンド (逆アセンブル)
逆アセンブル表示の指定したオフセットに至ると、Debug Tool に制御を渡します。
- command
- 有効な Debug Tool コマンド。
使用上の注意
AT OFFSET コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
- ブレークポイントを、現行ブロック内のオフセット '2A' に設定します。
AT OFFSET X'2A';
- ブレークポイントを、現行ブロック内のオフセット '2A' および '30' に設定します。
AT OFFSET (X'2A',X'30');
- ブレークポイントを、ブロック MYPROG 内のオフセット '3A' に設定します。
AT OFFSET MYPROG:>X'3A';
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT PATH コマンド
制御のフローが変化すると (パス点において)、Debug Tool に制御を渡します。
AT PATH は AT GLOBAL PATH と同じです。
- command
- 有効な Debug Tool コマンド。
使用上の注意
- Debug Tool での CICS アプリケーションでは、アプリケーションの最後のプロセスの終了でこのブレークポイントは消去されます。Debug Tool での CICS 以外の
アプリケーションでは、プロセスの終了で消去されます。
- C で PATH ブレークポイントを設定できるようにするには、以下のいずれかの方法を使用してプログラムをコンパイルする必要があります。
- TEST コンパイラー・オプションの PATH または ALL サブオプションのいずれかを指定します。
- DEBUG コンパイラー・オプションの PATH または ALL サブオプションのいずれかを指定します。
- C++ で PATH ブレークポイントを設定できるようにするには、以下のいずれかの方法を使用してプログラムをコンパイルする必要があります。
- TEST コンパイラー・オプションを指定します。
- DEBUG コンパイラー・オプションの PATH または ALL サブオプションのいずれかを指定します。
- 以下のコンパイラーでコンパイルされた COBOL プログラムの場合、PATH ブレークポイントを設定できるようにするには、TEST コンパイラー・オプションの NONE、PATH、または ALL サブオプションを指定してプログラムをコンパイルします。
- Enterprise COBOL for z/OS and OS/390 バージョン 3
- COBOL for OS/390 and VM バージョン 2
- PL/I で PATH ブレークポイントを設定できるようにするには、TEST コンパイラー・オプションの PATH または ALL サブオプションを指定してプログラムをコンパイルする必要があります。
- AT PATH コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
- Debug Tool は、逆アセンブルされたプログラムまたは VS COBOL II プログラムのデバッグ時は AT PATH コマンドをサポートしません。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT 接頭部コマンド (フルスクリーン・モード)
ユーザーがソース・ウィンドウの接頭部域でこのコマンドを出すと、ステートメント・ブレークポイントを設定します。1 つ以上のブレークポイントが行に設定されると、その行の接頭部域は強調表示されます。
- integer
- 行内の相対ステートメント (C、C++、および PL/I の場合) または
相対 verb (COBOL の場合) を選択します。デフォルト値は 1 です。最適化 COBOL プログラムでは、デフォルト値は、最適化の影響によって廃棄されなかった行の最初の実行可能ステートメントです。
使用上の注意
AT 接頭部コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
行の 3 番目のステートメントまたは verb にブレークポイントを設定します (そのス
テートメントがある行の接頭部域に次のように入力されます)。
AT 3
キーワードと整数の間には、区切り文字としてのスペースは必要はありません。したがって、AT 3 は AT3 と同じです。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT STATEMENT コマンド
所定の範囲内の指定のステートメントまたは行に至るたびに、Debug Tool に
制御を渡します。
- *
- STATEMENT または LINE に至るたびに、ブレークポイントを
設定します。
- command
- 有効な Debug Tool コマンド。リモート・デバッグ・モードを
使用する場合、 リモート・デバッグ・モードでサポートされるコマンドのみを指定できます。
- condition
- 有効な Debug Tool の条件式。
使用上の注意
- 逆アセンブルされたプログラムのデバッグ時には AT STATEMENT コマンドを使用できません (AT STATEMENT * 形式の場合を除く)。
その代わりに、AT OFFSET コマンドを使用します。
- 非アクティブのコンパイル単位 (現行のエンクレーブ内にないもの) に設定
されている STATEMENT ブレークポイントは、そのコンパイル単位がアクティブに
なるまで 中断 されます。ストレージから削除されるコンパイル単位に対して設定された STATEMENT ブレークポイントは、コンパイル単位が再ロードされるまで中断されます。
中断されたブレークポイントは、再活動化されるまで起動できません。
- Debug Tool での CICS アプリケーションでは、アプリケーションの最後のプロセスの終了でこのブレークポイントは消去されます。Debug Tool での CICS 以外の
アプリケーションでは、プロセスの終了で消去されます。
- 各行の最初の相対ステートメントは、3 つのうちのいずれの方法で指定すること
もできます。例えば、行 3 にある最初の相対ステートメントに STATEMENT ブレークポイントを
設定したい場合、AT 3、AT 3.0、あるいは AT 3.1 の
いずれかを入力することもできます。しかし、Debug Tool は、そのときに使用しているプログラム言語によって、異なったログを記録します。
- C および C++ の場合
行の最初の相対ステートメントは「0」で指定されます。上記のすべてのブレークポイントは AT 3.0 とログに記録されます。
- COBOL あるいは PL/I の場合
行の最初の相対ステートメントは「1」で指定されます。上記のすべてのブレークポイントは AT 3.1 とログに記録されます。最適化 COBOL プログラムでは、最初の相対ステートメントが最初の実行可能ステートメントです。最適化プログラムが最初のステートメントを廃棄した場合、これは最初のステートメントでないことがあります。
- STORAGE ランタイム・オプションが有効な場合、AT STATEMENT コマンドを使用して、最初の BALR 14,15 命令と次の LR 13,x 命令の間のアセンブラー・コンパイル単位のプロローグにブレークポイントを設定することはできません。
- AT STATEMENT コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
- WHEN 条件を指定することによって、AT STATEMENT ブレークポイントが発生する状況を限定できます。
WHEN 条件が指定されていると、Debug Tool は、指定されたステートメントが現在のステートメントと一致し、WHEN 条件が true の場合に、AT STATEMENT ブレークポイントで停止します。
- 以下の条件演算子は、次の条件で使用できます。
- =
- 2 つのオペランドの同等性を比較する。
- ¬=
- 2 つのオペランドの不等性を比較する。
- <
- 左方のオペランドが右方のオペランドより小さいか否かを判断する。
- >
- 左方のオペランドが右方のオペランドより大きいか否かを判断する。
- <=
- 左方のオペランドが右方のオペランドより小または等しいかどうかを判断する。
- >=
- 左方のオペランドが右方のオペランドより大または等しいかどうかを判断する。
- &
- 論理「AND」演算。
- |
- 論理「OR」演算。
- AT STATEMENT コマンドを WHEN 条件を指定して使用すると、Debug Tool がそのステートメントに達するたびに条件が評価されます。
条件が true に評価されると、Debug Tool は、ブレークポイントに関連付けられているコマンドの停止と実行を行います。
- Debug Tool は、WHEN 条件の参照を評価してから、ステートメントを実行します。
- Debug Tool が条件を評価し、条件が無効の場合、Debug Tool は以下のいずれかのアクションを実行します。
- SET WARNING が ON に設定されている場合、Debug Tool は停止して、条件を評価できなかったというメッセージを表示します。
Debug Tool に実行させるアクションを指定するコマンドを入力する必要があります。
- SET WARNING が OFF に設定されている場合、Debug Tool は停止せず、また条件を評価できなかったというメッセージも表示しません。Debug Tool はプログラムの実行を続行します。
例
- ステートメントまたは行番号 23 でブレークポイントを設定します。現行のプログラム言語の設定は COBOL です。
AT 23 LIST 'About to close the file';
- コンパイル単位 mycu 内のステートメント 5 から 9 でブレークポイントを
設定します。現行のプログラム言語の設定は C です。
AT STATEMENT "mycu":>5 - 9;
- 行 19 から 23、およびステートメント 27 と 31 でブレークポイントを設定します。
AT LINE (19 - 23, 27, 31);
または
AT LINE (27, 31, 19 - 23);
- myvar の値が 100 の場合にのみ発生するブレークポイントを、ステートメントまたは行 100 に設定するには、次のコマンドを入力します。
AT 100 WHEN myvar=100;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT STATEMENT コマンド (リモート・デバッグ・モード)
指定されたステートメントまたは行に達すると Debug Tool に制御を渡します。
使用上の注意
AT STATEMENT コマンドを入力すると、ブレークポイントはプログラムが停止する位置を基準に設定されます。これは、ソース・ビューに表示されるプログラムでないことがあります。
例えば、ユーザーのプログラムが、プログラム MAIN1 に呼び出されたプログラム SUB1 で停止し、
ソース・ビューにはプログラム SUB1 のソースが表示されます。次に、デバッグ・ビューの MAIN1 をクリックすると、
ソース・ビューに MAIN1 のソースが表示されます。コマンド AT STATEMENT 13 を入力すると、ブレークポイントは、MAIN1 のステートメント 13 ではなく、SUB1 のステートメント 13 に設定されます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
AT TERMINATION コマンド
アプリケーション・プログラムが終了したときに Debug Tool に制御を渡します。
- command
- 有効な Debug Tool コマンド。
使用上の注意
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
BEGIN コマンド
BEGIN および END は、1 つ以上のコマンドのシーケンスを 1 個の長形式コマンドにします。BEGIN および END キーワードは、省略することはできません。
- command
- 有効な Debug Tool コマンド。
使用上の注意
- BEGIN コマンドは、AT または PROCEDURE コマンドで使用される場合に最も役立ちます。
- Enterprise PL/I の場合、BEGIN コマンドは、IF または ON コマンドで使用される場合に役立ちます。
- BEGIN コマンドは、新しいブロックあるいは名前の有効範囲を
暗黙のうちに指定するものではありません。PL/I の単純な DO と同じ働きをします。
- BEGIN コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
ブロック・コマンド (C および C++)
ブロック・コマンドを使用すると、いくつかの Debug Tool コマンド
を 1 つのコマンドにグループ化することができます。複数の Debug Tool コマンドを一組の中括弧 ({}) で囲むと、中括弧の中にあるものすべてが単一
のコマンドとして扱われます。コマンドを入力できる場所であれば、どこにでもブロックを置くことができます。
- command
- 有効な Debug Tool コマンド。
使用上の注意
- 宣言は、ネストされたブロック内では許可されません。
- C の ブロック・コマンドは、セミコロンでは終わりません。右中括弧の後のセミコロンは、NULL コマンドとして扱われます。
- ブロック・コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
ロード・モジュール a が取り出された場合に、入り口ブレークポイントを確立します。
AT LOAD a {
AT ENTRY a;
GO;
}
break コマンド (C および C++)
break コマンドを使用すると、論理的な終了地点以外の任意の
位置からループ (すなわち do、for、および while) または switch コマンドを停止および終了することができます。break コマンドは、ループ・コマンドの本文
または switch コマンドの本文に入れることができます。break キーワードは小文字でなければならず、省略することは
できません。
ループ・ステートメントでは、break コマンドはループを終了し、制御をループの外の次のコマンドに移します。ネストされたステートメントでは、break コマンドは取り込まれた
最小の do、for、switch、または while コマンド部分のみを終了します。
switch の本文では、break コマンドは、switch 本文の実行を終了し、switch 本文外の次のコマンドに制御を移します。
使用上の注意
- break コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
- 次の例では、for コマンドの動作部にある break コマンドを示します。配列 string の i 番目のエレメントが '¥0' と等しい場合、break コマンドによって for コマンドは終了します。
for (i = 0; i < 5; i++) {
if (string[i] == '¥0')
break;
length++;
}
- 次の switch コマンドには、いくつかの case 文節
と 1 つの default 文節が含まれます。文節ごとに、関数呼び出しおよび break コマンドが含まれています。break コマンドは、switch の本文内で、後続のコマンドに制御権が移らないようにします。
char key;
key = '-';
AT LINE 15 switch (key)
{
case '+':
add();
break;
case '-':
subtract();
break;
default:
printf("Invalid key¥n");
break;
}
CALL コマンド
CALL コマンドは、プロシージャー、入り口名、またはプログラム名のいずれかを呼び出すか、
またはユーティリティー機能が実行されるよう要求します。
C および C++ で CALL に相当するものは、関数参照です。PL/I のサブルーチンまたは関数を Debug Tool セッション中に、動的に呼び出すことはできません。CALL キーワードは省略できません。
C++ では、ユーザー関数が次の構文で宣言をされている場合、その関数の呼び出しを行うことができます。
extern "C"
COBOL では、Debug Tool の初期設定中には CALL コマンドを
出すことはできません。
次の表は、CALL コマンドの形式を要約しています。
CALL %CEBR コマンド
CICS 一時ストレージ・ブラウザー・プログラムを開始します。
使用上の注意
- Debug Tool は、CICS ブラウザー・プログラムに対して EXEC CICS LINK を実行します。
CEBR の処理が完了すると、EXEC CICS の戻りによって、制御が Debug Tool に戻されます。
- このコマンドは、フルスクリーン・モードの単一端末モードで
CICS
プログラムをデバッグする場合にのみ使用できます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連
資料
- CICS Supplied Transactions
- CICS Transaction Server for z/OS CICS アプリケーション・プログラミング・ガイド
CALL %CECI コマンド
CICS コマンド・レベル・インタープリター・プログラムを開始します。
使用上の注意
- Debug Tool は、CICS コマンド・レベル・インタープリター・プログラムに対して EXEC CICS LINK を実行します。
CECI の処理が完了すると、EXEC CICS の戻りによって、制御が Debug Tool に戻されます。
- このコマンドは、フルスクリーン・モードの単一端末モードで
CICS
プログラムをデバッグする場合にのみ使用できます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連
資料
- CICS Supplied Transactions
- CICS Transaction Server for z/OS CICS アプリケーション・プログラミング・ガイド
CALL %DUMP コマンド
ダンプ・サービスを呼び出して、定様式ダンプを取得します。

- title
- ダンプの各ページの先頭に印刷されている識別名称を指定します。固定長文字ストリングでなければなりません。また、現行プログラミング言語の引用符 (") またはアポストロフィ (') で囲まれた文字ストリング定数の構文規則に準拠している必要があります。
ストリングの長さは、80 バイトを超えてはなりません。
- options_string
- ダンプ情報のタイプ、形式、および宛先を指定する固定長の文字ストリング。ストリングは、現行プログラミング言語の引用符 (") またはアポストロフィ (') で囲まれた文字ストリング定数の構文規則に準拠している必要があります。
ストリングの長さは、247 バイトを超えてはなりません。
オプションは、ブランクまたはコンマによって区切られた
キーワードの 1 つのストリングとして宣言されます。オプション・キーワードの後にサブオプションをもつオプションは、括弧に入れられます。オプションは任意の順序で指定することができますが、先行オプションとの間に
矛盾がある場合には、後のオプション宣言が優先されます。
options_string には、次のものを入れることができます。
- THREAD(ALL|CURRENT)
- 現行のスレッド、または現行のエンクレーブに関連付けられているすべての
スレッドをダンプします。デフォルトは、現行のスレッドのみをダンプします。1 つのスレッドのみ
がサポートされます。単一スレッドからなるエンクレーブでは、THREAD(ALL)
と THREAD(CURRENT) は同等です。
THREAD は、THR と省略することができます。
CURRENT は、CUR と省略することができます。
CICS:
言語環境プログラムなしに CICS の下で実行するとき (ここで、Debug Tool は EXEC CICS DUMP TRANSACTION を出します)、
このオプションはサポートされません。
- TRACEBACK
- 呼び出しチェーンにおいてアクティブなプロシージャー、ブロック、条件処理ルーチン、およびライブラリー・モジュールのトレースバック (トレース) を要求します。トレースバックでは、呼び出しまたは例外のいずれかからの制御の移行が示されます。トレースバックは、現行スレッドの主プログラムまで逆方向に行われます。
TRACEBACK は TRACE と省略することができます。
- NOTRACEBACK
- トレースバックを抑止します。
NOTRACEBACK は NOTRACE と省略されます。
- FILES
- オープンされているすべてのファイルの完全な属性セット、およびファイルによって使用されるバッファーの内容を要求します。
FILES は FILE と省略することができます。
- NOFILES
- オープンされているファイルのファイル属性を抑止します。
NOFILES は NOFILE と省略することができます。
- VARIABLES
- すべての変数、引数、およびレジスターのシンボリック・ダンプを要求します。
変数には、配列および構造が含まれます。レジスター値は、呼び出し時にスタック・フレームに保存された値です。その情報のサブセットを印刷することはできません。
変数および引数は、記号テーブルが使用可能な場合にのみ印刷されます。記号テーブルは、プログラムがコンパイル・オプションを使用してコンパイル
された場合に生成されます。各言語ごとのコンパイル・オプションを次に示します。
| 言語 |
コンパイラー・オプション |
| C |
TEST(SYM) |
| C++ |
TEST |
| COBOL |
TEST または TEST(h,SYM) |
| PL/I |
TEST(,SYM) |
変数、引数、およびレジスターのダンプは Debug Tool によって開始されます。ダンプするチェーン内のルーチンの数は、STACKFRAME オプションによって指定します。
VARIABLES は VAR と省略することができます。
- NOVARIABLES
- 変数、引数、およびレジスターのダンプを抑止します。
NOVARIABLES は NOVAR と省略することができます。
- BLOCKS
- 制御ブロックの独立 16 進ダンプを生成します。
グローバル制御ブロックおよび呼び出しチェーンでルーチンに関連付けられた
制御ブロックが印刷されます。制御ブロックが Debug Tool 用に印刷されます。ダンプは、STACKFRAME オプションによって指定されたルーチン数の
呼び出しチェーンまで行われます。
FILES が指定されている場合、これは、ファイル分析で使用
される制御ブロックの独立 16 進ダンプを生成するために使用されます。
BLOCKS は BLOCK と省略することができます。
CICS:
言語環境プログラムなしに CICS の下で実行するとき (ここで、Debug Tool は EXEC CICS DUMP TRANSACTION を出します)、
このオプションはサポートされません。
- NOBLOCKS
- 制御ブロックの 16 進ダンプを抑止します。
NOBLOCKS は NOBLOCK と省略することができます。
- STORAGE
- プログラムによって使用されるストレージをダンプします。
ストレージは、16 進数の文字形式で表示されます。グローバル・ストレージおよび呼び出しチェーンで各ルーチンに関連付けられたストレージが
印刷されます。ストレージが Debug Tool 用にダンプされます。ダンプは、STACKFRAME オプションによって指定された
ルーチン数の呼び出しチェーンまで行われます。すべてのファイル・バッファーのストレージも、FILES オプションが
指定されるとダンプされます。動的デバッグ機能をアクティブにした場合、元のアプリケーション命令によって
は、'0A91'x 命令によって置き換えられたため、表示されないものもあります。
STORAGE は STOR と省略することができます。
- NOSTORAGE
- ストレージ・ダンプを抑止します。
NOSTORAGE は、NOSTOR と省略することができます。
- STACKFRAME(n|ALL)
- 呼び出しチェーンからダンプされるスタック・フレーム数を指定します。
STACKFRAME(ALL) が指定された場合、すべての
スタック・フレームがダンプされます。STACKFRAME(0) が指定された場合は、スタック・フレーム・ストレージはダンプされません。
それぞれのスタック・フレームについてダンプされた特定情報は、指定され
た VARIABLE、BLOCK、および STORAGE オプション
宣言によって異なります。ダンプされた最初のスタック・フレームが Debug Tool と関連付けられたスタック・フレームです。このスタック・フレームの後ろには、その呼び出し元が続き、呼び出しチェーンを逆方向に進めます。
STACKFRAME は、SF と省略することができます。
- PAGESIZE(n)
- ダンプのページごとの行数を指定します。
この値は、9 より大きくなければなりません。ゼロの値 (0) は、ダンプ内で改ページがあってはならない
ことを示します。
PAGESIZE は、PAGE と省略することができます。
- FNAME(s)
- ダンプ・レポートが作成されるファイルの DD 名を指定します。
デフォルト DD 名 CEEDUMP は、このオプションが指定されない場合に
使用されます。
- CONDITION
- 呼び出しチェーンでアクティブなそれぞれの条件について、次の
情報が条件情報ブロック (CIB) からダンプされるよう指定します。
- CIB のアドレス
- 現行の条件トークンに関連付けられたメッセージ
- 元の条件トークンに関連付けられたメッセージ (現行の条件トークンと異なる場合)
- エラーの位置
- 条件マネージャーが起動された時点でのマシン状態
- ABEND コードおよび REASON コード (ABEND が原因で条件が発生した場合)
ダンプされる特定の情報は、条件マネージャーが起動される原因と
なった条件によって異なります。マシン状態が含まれるのは、ハードウェア条件または ABEND が発生した場合にのみです。ABEND および REASON コードは、ABEND が発生した場合にのみ含まれます。
CONDITION は、COND と省略することができます。
- NOCONDITION
- 呼び出しチェーンでアクティブな条件についてのダンプ条件情報を抑止します。
NOCONDITION は NOCOND と省略することができます。
- ENTRY
- ダンプ・サービスを呼び出した Debug Tool ルーチンの記述、およびその呼び出し点での
レジスターの内容をダンプに組み込みます。
現在サポートされるプログラム言語では、ENTRY は無効であり、無視されます。
CICS:
言語環境プログラムなしに CICS の下で実行するとき (ここで、Debug Tool は EXEC CICS DUMP TRANSACTION を出します)、
このオプションはサポートされません。
- NOENTRY
- ダンプ・サービスを呼び出した Debug Tool ルーチンの記述、およびその呼び出し点での
レジスターの内容を抑止します。
CICS:
言語環境プログラムなしに CICS の下で実行するとき (ここで、Debug Tool は EXEC CICS DUMP TRANSACTION を出します)、
このオプションはサポートされません。
この項で説明されたオプションのデフォルトは、次のとおりです。
- CONDITION
- FILES
- FNAME(CEEDUMP)
- NOBLOCKS
- NOENTRY
- NOSTORAGE
- PAGESIZE(60)
- STACKFRAME(ALL)
- THREAD(CURRENT)
- TRACEBACK
- VARIABLES
使用上の注意
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連
資料
- PLAYBACK コマンド
- z/OS 言語環境プログラム プログラミング・ガイド
- z/OS 言語環境プログラム デバッグのガイド
CALL %FA コマンド
IBM Fault Analyzer を起動して、現行のマシン状態の定様式ダンプを提供するように指示します。
使用上の注意
PLAYBACK コマンドを使用して記録されたステートメントを再生している場合、CALL %FA は、PLAYBACK START を入力するとき、マシン状態の定様式ダンプを提供します。
CALL %FM コマンド
IBM File Manager for z/OS を開始します。
- userID
- MVS ユーザーの ID。userID が指定されていない場合、File Manager は次のいずれかのオプションを使用します。
- CESN を使用してサインオンし、File Manager が *DEFAULT=SIGNON または *PASSWORD=REMEMBER のいずれかを指定してインストールされている場合、userID には、サインオンに使用されたユーザー ID が割り当てられます。
- サインオンしていない場合は、File Manager はユーザー ID のプロンプトを出してから、ログオン・パネルを表示します。
- BACKGROUND
- すべての非端末処理をバックグラウンド・タスクに経路指定することを指定します。
使用上の注意
- このコマンドは、CICS プログラムをデバッグする場合にのみ使用できます。
- IBM File Manager for z/OS V9R1 が CICS 領域にインストールされている必要があります。
CALL %HOGAN コマンド
Computer Sciences Corporation の KORE-HOGAN アプリケーションを始動します。これは SMART (System Memory Access Retrieval Tool) として知られています。
使用上の注意
- このコマンドは、フルスクリーン・モードの単一端末モードで
CICS
プログラムをデバッグする場合にのみ使用できます。
- KORE-HOGAN アプリケーションを持っていない場合、このコマンドは使用しないでください。
このコマンドを使用した場合は、「Program not loadable
(プログラムをロードできません)」というエラーが発生し、AEIO 例外を引き起こします。
CALL %VER コマンド
システムにインストールした Debug Tool のメンテナンス・レベルを記述するログに行を追加します。
使用上の注意
このコマンドはリモート・デバッグ・モードで使用できます。
例
Debug Tool for z/OS バージョン 10.1 がシステムにインストールされています。 CALL %VER コマンドを入力して「Log」ウィンドウに次の情報を表示します。
IBM Debug Tool Version 10 Release 1 Mod 0
11/06/2009 4:11:41 PM Level: V10R1 PKnnnnn
5655-V50: Copyright IBM Corp. 1992, 2009
表示されるタイム・スタンプは、製品のビルドの日時です。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
CALL entry_name コマンド (COBOL)
アプリケーション・プログラムで入り口名を呼び出します。入り口名は、有効な外部入り口点名 (すなわち、他のコンパイル単位
から呼び出し可能) でなければなりません。
- identifier
- 有効な Debug Tool COBOL ID。
- literal
- 有効な COBOL リテラル。
使用上の注意
- Debug Tool プロシージャー名と同じ COBOL 入り口点名をもつ場合、CALL コマンドを使用する場合は、プロシージャー名が優先されます。Debug Tool プロシージャー名より入り口名を優先させたい場合は、CALL コマンドを使用する際に入り口名を修飾しなければなりません。
- CALL entry_name コマンドを使用すると、プログラムの流れを動的に変更することができます。呼び出されたモジュールにパラメーターを渡すこともできます。
- CALL は、COBOL 言語の呼び出しと同じ規則に従います。
- COBOL ON OVERFLOW および ON EXCEPTION の句は
サポートされないため、END-CALL もサポートされません。
- 別々にコンパイルされたプログラムに対する呼び出しのみがサポートされます。ネストされたプログラムは、この Debug Tool コマンド
では呼び出しできません (もちろん、コンパイルで組み入れた CALL へ
の GOTO または STEP による呼び出しは可能です)。
- すべての呼び出しは、動的に行われます。すなわち、呼び出されたプログラム (literal または identifier として指定された) は、呼び出されたときにロードされます。
- COBOL キーワードの ADDRESS、BY、CONTENT、LENGTH、OF、REFERENCE、USING の説明については、「Enterprise COBOL for z/OS and OS/390 言語解説書」を参照してください。
- entry_name でメソッドへの参照はできません。
- ウィンドウ方式の日付フィールドを入り口名を含む ID として指定することはできません。
- CALL entry_name コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
入り口名 sub1 を呼び出して、変数 a、b、および c を渡します。
CALL "sub1" USING a b c;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
CALL プロシージャー・コマンド
PROCEDURE コマンドによって定義されているプロシージャーを呼び出します。
- procedure_name
- PROCEDURE コマンドと、対応する END コマンドで
区切られた、一連の Debug Tool コマンドの名前。
使用上の注意
- Debug Tool のプロシージャー名は常に大文字であるため、大/小文字混合の記号を
使用できるプログラム言語でのプログラムであっても、プロシージャー名は大文字に変換します。
- CALL キーワードは、サブルーチン呼び出し
に CALL を使用しないプログラム言語の場合でも必要です。
- CALL コマンドの使用は、現在実行中のエンクレーブにある
プロシージャーの呼び出しに限定されます。
例
proc1 と命名されたプロシージャーを作成し、呼び出します。
proc1: PROCEDURE;
LIST (r, c);
END;
AT 54 CALL proc1;
CHKSTGV コマンド
ユーザー・ストレージ・エレメントの CICS ストレージ・チェック・ゾーンがオーバーレイされているかどうかを確認します。
使用上の注意
- このコマンドは CICS アプリケーションにのみ適用されます。
- このコマンドはリモート・デバッグ・モードで使用できます。
- このコマンドを使用して、「CICS Problem Determination Guide」のセクション『記憶保護違反の処理 (Dealing with storage violations)』で説明されている作業を変更しないでください。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
CLEAR コマンド
CLEAR コマンドは、以前に入力された Debug Tool コマンドの処置を除去します。
ブレークポイントのなかには、無意味となったことが Debug Tool によって判別されると、自動的に除去されるものがあります。例えば、取り出されたコンパイル単位またはロードされたコンパイル単位の中に
ブレークポイントを設定した場合、コンパイル単位が解放されるとブレークポイントは廃棄されます。

- AT
- 以前に入力された AT コマンドで設定されたブレークポイント (GLOBAL ブレークポイントを含む) を
すべて除去します (ただし、AT TERMINATION ブレークポイントを除く)。
- AT_command
- 少なくとも 1 つのオペランドをもつ有効な AT コマンド。AT コマンドは、every_clause および command が
省略されていることを除き、完全に入力する必要があります。
- generic_AT_command
- オペランドをもたない有効な AT コマンド。次のいずれかを記入してください。ALLOCATE、APPEARANCE、CALL、CHANGE、CURSOR、DATE、DELETE、ENTRY、EXIT、LABEL、LOAD、OFFSET、OCCURRENCE、PATH、STATEMENT
(STATEMENTS の代わりに LINE キーワードも使用可能)、あるいは TERMINATION。
- DECLARE
- 以前に定義された変数およびタグを除去します。DECLARE の後に identifier がない場合、
すべてのセッション変数およびタグが消去されます。
DECLARE は、VARIABLES と同等です。
- identifier
- Debug Tool セッション中に宣言されたセッション変数またはタグの名前。このオペランドは、現行のプログラム言語の規則に従わなければなりません。
- EQUATE
- 以前に定義されたシンボリック参照を除去します。EQUATE の後に identifier がない場合、既存
の SET EQUATE 同義語はすべて消去されます。
- identifier
- Debug Tool セッション中に SET EQUATE を使用して宣言された
以前定義済み参照同義語の名前。このオペランドは、現行のプログラム言語の規則に従わなければなりません。
- LOAD
- ロード・モジュールを除去します。
このコマンドには、次のサブパラメーターがあります。
- module_name
- LOAD コマンドを使用して Debug Tool によってロードされた 1 つ以上のロード・モジュールの名前。
- LOG
- ログ・ファイルを削除し、スクロールのために保管されているデータを
消去します。行モードでは、CLEAR LOG はログ・ファイルのみ消去します。
ログ・ファイルが SYSOUT タイプのファイルに出力指示されている場合、CLEAR LOG はそのファイル内のログ内容を消去しません。
- MEMORY
- 現在表示されているメモリー、基底アドレス、およびヒストリー領域を含む、メモリー・ウィンドウを消去します。
- MONITOR
- MONITOR について定義されたコマンドを消去します。MONITOR の後に number がない場合、モニター・ウィンドウに
影響を与えるコマンドのリスト全体が消去されます。そのモニター・ウィンドウは
空になります。
- number
- モニターの対象のコマンドを参照する正の整数。整数のリストが指定されない場合、指定されたリストに表示されたすべての
コマンドは消去されます。
- ON (PL/I)
- 以前の ON コマンドの指定を無効にします。pli_condition を ON の後に指定していない場合、既存の ON コマンドがすべて消去されます。
- pli_condition
- ON コマンドで定義した例外条件を指示します。
- PROCEDURE
- 以前に定義された Debug Tool プロシージャーを消去します。PROCEDURE の後に procedure_name がない場合、非アクティブのプロシージャーはすべて消去されます。
- procedure_name
- PROCEDURE コマンドと、対応する END コマンドで
区切られた、一連の Debug Tool コマンドの名前。プロシージャーは、その時点ではストレージにあり、アクティブであってはなりません。
- VARIABLES
- 以前に定義された変数およびタグを除去します。VARIABLES の後に identifier がない場合、
すべてのセッション変数およびタグが消去されます。
VARIABLES は DECLARE と同等です。
- identifier
- Debug Tool セッション中に宣言されたセッション変数またはタグの名前。このオペランドは、現行のプログラム言語の規則に従わなければなりません。
使用上の注意
例
- ラベル create で、プログラム内に設定されている LABEL ブレークポイント
を除去します。
CLEAR AT LABEL create;
- 以前に定義されている変数 x、y、および z を
除去します。
CLEAR DECLARE (x, y, z);
- MONITOR に定義された 9 番目のコマンドの結果を除去します。
CLEAR MONITOR 9;
- 構造型定義 tagone を除去します (構造体タグを使用して対話式に宣言された
変数はすべて消去済みと見なす)。現行のプログラム言語の設定は C です。
CLEAR VARIABLES struct tagone;
- AT コマンドによっていくつかのブレークポイントを設定した
後、CLEAR コマンドによってそれを除去します (それらの結果
を LIST コマンドによってチェックします)。
AT 50;
AT 56;
AT 55 LIST (r, c);
LIST AT;
CLEAR AT 50;
LIST AT;
CLEAR AT;
LIST AT;
- AT ENTRY * ブレークポイントを消去したい場合には、次のように
指定してください。
CLEAR AT ENTRY *;
または
CLEAR AT GLOBAL ENTRY;
- ブロック MYBLOCK の DATE ブレークポイントを取り除きたい場合は、次のように指定します。
CLEAR AT DATE MYBLOCK;
- 総称 DATE ブレークポイントを除去したい場合は、次のように指定します。
CLEAR AT DATE *;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
CLEAR 接頭部 (フルスクリーン・モード)
ソース・ウィンドウの接頭部域でこのコマンドを入力するときにブレークポイントを消去するか、
またはモニター・ウィンドウの接頭部域でこのコマンドを入力するときに現行の MONITOR コマンド・セットから
選択されたメンバーを消去します。
- integer
- 行に複数のステートメントがある場合、その行内の
相対ステートメント (C および PL/I の場合) または相対 verb (COBOL の場合) を
選択して、ブレークポイントを除去します。デフォルト値は 1 です。最適化 COBOL プログラムでは、最初の相対ステートメントは、最適化プログラムによって廃棄されなかった最初の実行可能ステートメントです。
使用上の注意
- CLEAR 接頭部コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
- モニター・ウィンドウの接頭部域で CL を使用して、モニター・ウィンドウのメンバーを消去します。
例
COMMENT コマンド
COMMENT コマンドを使用すると、コメントをセッション・ログへ挿入
することができます。COMMENT キーワードは省略できません。
- commentary
- セミコロンを含まないコメント・テキスト。テキストの中にセミコロンを使うことはできません。セミコロンの後のテキストは
別の Debug Tool コマンドとして処理されます。DBCS 文字を、コメント内で使用できます。
COMMENT コマンドは実行可能コマンドとして使用することが
できます。すなわち、条件付きコマンドの対象となることはできますが、NULL コマンド
として扱われます。
例
COMPUTE コマンド (COBOL)
COMPUTE コマンドは、指定された参照に演算式の値を割り当てます。COMPUTE キーワードは省略できません。
- reference
- 有効な Debug Tool COBOL 数値参照。
- expression
- 有効な Debug Tool COBOL 数式。
使用上の注意
- 最適化 COBOL プログラムのデバッグをする場合、COMPUTE コマンドを使用して値をプログラム変数に代入できるのは、最初に SET WARNING OFF コマンドを入力するときのみです。
- 最適化 COBOL プログラムをデバッグしている場合、expression を指定すると、最適化プログラムによって廃棄されなかったプログラム変数を参照できます。
- 計算条件またはアテンション割り込みによって Debug Tool を呼び出した場合、変数の
値の設定に代入ステートメントを使用しても、期待した結果は得られない
可能性があります。これは、ステートメント境界での変数値とは反対に、ステートメント内の変数値のあいまいさによるものです。
- COMPUTE は、値を単一の受信先にのみ代入します。COBOL の場合とは異なり、複数の受信先変数はサポートされません。
- 浮動小数点の受信先はサポートされません。ただし、浮動小数点の値は、MOVE コマンドを使用すれば設定することができます。
- COBOL EQUAL キーワードはサポートされません (「=」を
使用しなければなりません)。
- COBOL ROUNDED および SIZE ERROR の句はサポート
されないため、END-COMPUTE はサポートされません。
- expression に複数のオペランドがある場合には、COMPUTE を使用
して、ウィンドウ方式の日付フィールドを使用する計算はできません。
- expression 内でオペランドとして指定された拡張日付フィールドは、非日付フィールドとして
扱われます。
- この expression の計算結果は、常に非日付フィールドと見なされます。
- expression が単一の数字オペランドから構成される
場合、COMPUTE は MOVE として扱われるため、MOVE コマンドと同じ規則に従います。
- PLAYBACK ENABLE コマンドの DATA パラメーターが現行のコンパイル単位に対して有効な場合、記録されたステートメントを PLAYBACK コマンドを使用して再生する間に COMPUTE コマンドを使用することができます。COMPUTE コマンドの宛先は、セッション変数でなければなりません。
- 変数に代入される値は、常にその変数のストレージに代入されます。最適化されたプログラムでは、変数は一時的にレジスターに
割り当てることができ、その変数に割り当てられた新しい値は、プログラムによって使用される値を必ずしも変更しません。
例
- 変数 x に a + 6 の値を代入します。
COMPUTE x = a + 6;
- 変数 mycode に Debug Tool 変数 %PATHCODE + 1 の値を代入します。
COMPUTE mycode = %PATHCODE + 1;
- これは、変数 xx に、式 (a + e(1)) / c * 2 の結果を代入します。
COMPUTE xx = (a + e(1)) / c * 2;
次の例に示すように、このような代入にテーブル・エレメントを
使用することもできます。
COMPUTE itm-2(1,2) = (a + 10) / e(2);
- 値を、TSO または SYSTEM という名前のセッション変数に代入するには、次の例に示すように、参照に "=" を付加してください。
COMPUTE tso= 5;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
CURSOR コマンド (フルスクリーン・モード)
CURSOR コマンドは、Debug Tool セッション・パネルで最後に保存された位置 (ヘッダー・フィールドを含まない) とコマンド行の間でカーソルを
移動します。
使用上の注意
- カーソル位置を保存するには、コマンド行で CURSOR コマンドを入力してからカーソルを移動し、その後に Enter を押すか、
または PF キーに CURSOR コマンドを割り当て、カーソルを移動してから PF キーを押します。
- CURSOR コマンドがコマンド行で他のコマンドより先にある場合、カーソルは、そのコマンドが実行される前に移動されます。これは、ウィンドウの 1 つで繰り返し実行されるコマンドのカーソル移動を
保管するのに役立ちます。
- CURSOR コマンドは記録されません。
例
Debug Tool セッション・パネルで最後に保存された位置とコマンド行の間で
カーソルを移動します。
CURSOR;
宣言 (アセンブラー、逆アセンブリー、および非言語環境プログラム COBOL)
宣言を使用して、Debug Tool セッション中に有効なセッション変数を宣言します。セッション変数は、デバッグ・セッションの全体または宣言がなされたプロセスを通じて
有効になっています。宣言によって宣言された変数は、他の Debug Tool コマンドで、コンパイラーに対して
宣言された変数と同様に使用されます。宣言された変数の除去は、Debug Tool セッションの終了時、また
は CLEAR コマンドがそれらの除去に使用された
ときに行われます。
- identifier
- 有効なアセンブラー ID。
- F、FLn、X、XLn、C、CLn、H、HLn、A、ALn、B、BLn、P、PLn、Z、ZLn、E、D、L
- アセンブラー DC 命令で使用される型に対応する型コード。
これらのタイプ・コードの意味について詳しくは、
「High Level
Assembler for MVS &
VM & VSE: Language Reference」を参照してください。
使用上の注意
有効な n 値の範囲は、次のように、型指定子により異なります。
- C および X: 1 から 65525。
- F、H、および A: 1 から 4。
- B: 1 から 256。
- P および Z: 1 から 16。
宣言 (C および C++)
宣言を使用して、Debug Tool セッション中で有効なセッション変数およびタグを宣言します。セッション変数は、デバッグ・セッションの全体または宣言がなされたプロセスを通じて
有効になっています。宣言を使用して宣言された変数およびタグは、別の Debug Tool コマンドでも
コンパイラーに対して宣言されたものと同様に使用可能です。宣言された変数およびタグの除去は、Debug Tool セッションの終了時、また
は CLEAR コマンドがそれらの除去に使用された
ときに行われます。キーワードは、大文字と小文字を正しく使用することが必要で、省略はできません。
enum、struct、および union データ・タイプも宣言する
ことができます。構文は、enum メンバーが任意で符号付き整数定数に対してしか
初期設定できないことを除き、C と同一です。
- *
- C の間接演算子。
- identifier
- 有効な C の ID。
- integer
- 有効な C の配列結合整定数。
- constant_expr
- 有効な C の整定数。
使用上の注意
例
- 2 つの C 整数を定義します。
int myvar, hisvar;
- 次の値を表す列挙型変数 status を定義します。
列挙型定数 整数表示
run 0
create 1
delete 5
suspend 6
enum statustag {run, create, delete=5, suspend} status;
- struct 宣言で変数を定義します。
struct atag {
char foo;
int var1;
} avar;
- 構造体タグを使用して対話式に変数を宣言します。
struct tagone {int a; int b;} c; この後続けて次のものを指定します。
struct tagone d;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- Debug Tool ユーザーズ・ガイド
宣言 (COBOL)
宣言を使用して、Debug Tool セッション中に有効なセッション変数を宣言します。セッション変数は、デバッグ・セッションの全体または宣言がなされたプロセスを通じて
有効になっています。宣言によって宣言された変数は、他の Debug Tool コマンドで、コンパイラーに対して
宣言された変数と同様に使用されます。宣言された変数の除去は、Debug Tool セッションの終了時、また
は CLEAR コマンドがそれらの除去に使用された
ときに行われます。キーワードを省略することはできません。
- level
- 1 または 77。
- identifier
- 有効な COBOL データ名 (DBCS データ名を含む)。
- picture
- S と X と 9 の 3 種類の文字で作成した文字列 (複製係数はオプション)。
picture が X(*) でない
場合、COBOL USAGE 文節が必要です。
使用上の注意
- 宣言はコマンド・リストでは使用できません。例えば、IF コマンド
あるいは WHEN 文節の対象として使用することはできません。
- BINARY と COMP は同義です。
- COMPUTATIONAL-4 の代わりに、BINARY か COMP を
使用してください。
- COMP-1 は短精度浮動小数点です (4 バイト)。
- COMP-2 は長精度浮動小数点です (8 バイト)。
- COBOL PICTURE と USAGE 文節のみがサポートされます。
- 短形式の COMPUTATIONAL (COMP) はサポートされます。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- Debug Tool ユーザーズ・ガイド
- 関連
資料
- Enterprise COBOL for z/OS and OS/390 言語解説書
DECLARE コマンド (PL/I)
DECLARE コマンドで、Debug Tool セッション中に有効なセッション変数を宣言します。この方法で宣言された変数は、他の Debug Tool コマンドで、コンパイラーに対して宣言された変数と同様に使用
されます。一時変数は、Debug Tool セッションが終了すると、CLEAR コマンドによって
除去します。キーワードを省略することはできません。
- level
- 符号なし正の整数。大構造にはレベル 1 の指定が必要です。
- name
- 有効な PL/I ID。名前は、特定の構造レベルの範囲で固有であることが必要です。
名前の競合が発生すると、Debug Tool は、実行中のプログラムに出てくる同じ名前の他の変数より先に、セッション変数を使用します。Debug Tool セッション中にプログラム変数を参照するには、修飾を活用してください。例えば、DECLARE コマンドで宣言した変数 a と
プログラム内の変数 a を表示するには、次の LIST コマンド
を出します。
LIST (a, %BLOCK:a);
変数が以前 DECLARE コマンドで定義済みのために名前の競合が
発生した場合、新しい宣言が以前の宣言を変更します。
- attribute
- PL/I データまたはストレージの属性を指定します。
PL/I データ属性として指定可能なものは、次のとおりです。
BINARY CPLX FIXED LABEL PTR
BIT DECIMAL FLOAT OFFSET REAL
CHARACTERS EVENT GRAPHIC POINTER VARYING
COMPLEX
PL/I のストレージ属性として指定可能であるものは、次のとおりです。
BASED ALIGNED UNALIGNED
ポインターの指定に BASED オプションは使用できません。
属性は一つだけ因数処理が可能です。次に示すような DECLARE は認められません。
DCL (a(2), b) PTR;
DCL (x REAL, y CPLX) FIXED BIN(31);
また、精度の属性とスケール係数と大きさの範囲が指定可能です。セッション変数に大きさと範囲がある場合、PL/I 言語の規則に従って宣言する必要があります。
使用上の注意
- DECLARE はサブコマンドとしては使用できません。すなわち、DO/END または BEGIN/END ブロックの中での
使用はできません。
- 初期設定はサポートされません。
- プログラムの DEFAULT ステートメントが DECLARE コマンドに
影響を与えることはありません。
- Enterprise PL/I プログラムをデバッグしている場合、配列、構造、係数の属性、または複数セッション変数を 1 つのコマンド行で宣言することはできません。
- DECLARE コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
- ポインターとして使用可能の変数として、x、y、および z を宣言します。
DECLARE (x, y, z) POINTER;
- 2 進、15 ビットの固定小数点データ項目の変数として、a を宣言します。
DECLARE a FIXED BIN(15);
- 2 進、浮動小数点、複素数データ項目を表す変数として、d03 を宣言します。
DECLARE d03 FLOAT BIN COMPLEX;
この d03 は、FLOAT BINARY(21) の属性を持ちます。
- x をポインターとして、また、setx を固定小数点データ項目
の構造エレメント a および b をもつ大構造として宣言します。
DECLARE x POINTER, 1 setx, 2 a FIXED, 2 b FIXED;
この a および b は、FIXED DECIMAL(5) の
属性を持ちます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- Debug Tool ユーザーズ・ガイド
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連
資料
- Enterprise PL/I for z/OS PL/I for AIX WSED PL/I for Windows 言語解説書
DESCRIBE コマンド
DESCRIBE コマンドは、参照、コンパイル単位、既知のロード・モジュール、ランタイム環境、および CICS チャネルおよびコンテナーのファイル割り振りまたは属性を表示します。

- CURSOR (フルスクリーン・モードのみ)
- 変数、構造、および配列を記述するためのカーソル制御メソッドを提供します。DESCRIBE を PF キーに割り当ててある場合、特定の変数の属性を
表示するには、その変数のところにカーソルを移動して、割り当てられた PF キーを押します。
- ALLOCATIONS
- 現行のファイル割り振りを表示します。
- USER
- ユーザーのアドレス・スペースに割り振られたファイルの内容を説明するよう指示します。
- ALL
- USER 割り振りおよび SYSTEM 割り振りの両方の内容を説明するよう指示します。
- SYSTEM
- 以下の割り振りのすべての内容を説明するよう指示します。
- LINKLIST
- 現行の LINKLIB、JOBLIB、STEPLIB、および TASKLIB 割り振りの内容を説明するよう指示します。
- LPALIST
- 現行の LPA リストの内容を説明するよう指示します。
- APFLIST
- APF 許可データ・セットの現行のリストの内容を説明するよう指示します。
- CATALOG
- アクティブなカタログの現行のリストの内容を説明するよう指示します。
- PARMLIB
- 現行の PARMLIB 連結の内容を説明するよう指示します。
- PROCLIB
- 現行の PROCLIB 連結の内容を説明するよう指示します。
- ATTRIBUTES
- 指定された変数の属性、または C および C++ では、式を表示します。属性は、通常の変数の宣言に示される属性か、またはそのデフォルトの規則によって想定される属性です。DESCRIBE ATTRIBUTES は、現行のプログラム言語にアクセス可能な
変数についてのみ機能します。現在修飾されているブロック内のすべての変数は、オペランドが指定されない場合に記述されます。
- reference
- 現行のプログラム言語で有効な Debug Tool 参照。次の点に注意してください。
C および C++ では、これは、有効な式です。C および C++ の式では、タイプが唯一表示される属性です。C および C++ の構造体またはクラスの場合、DESCRIBE ATTRIBUTES は、構造体またはクラスの属性だけを表示します。構造体内部のデータ・オブジェクトの属性またはクラス内のデータ・メンバー
を表示するには、特定のデータ・オブジェクトまたはメンバーに対して DESCRIBE ATTRIBUTES を使用します。
COBOL の場合、DATA DIVISION に表示されたユーザー定義名の
いずれかになります。名前は、それらの定義ごとに添え字付けまたはサブストリング化されます (すなわち、英数字データまたは配列として
定義されます)。
PL/I では、変数が構造体に属する場合、上位の親から大きさの属性を継承します。継承された大きさの属性は、変数の宣言の一部であったかのように見えます。
最適化 COBOL プログラムでは、reference が最適化プログラムによって廃棄された変数を参照する場合、アドレス情報はメッセージによって置換されます。
- 'reference'
- 有効な Debug Tool 非言語環境プログラム COBOL 参照。
非言語環境プログラム COBOL の場合は、この形式を使用する必要があります。1 つの単純変数または IN または OF 修飾が付いた 1 つの変数を含めることができます。
- *
- すべての変数をコンパイル単位で記述します。* は、アセンブラー、逆アセンブリー、PL/I、または非言語環境プログラム COBOL のプログラムではサポートされません。
- CHANNEL
- Web サービス状態データを保持するコンテナーを含む、CICS チャネルおよびコンテナーを記述します。
以下のいずれかのサブオプションを指定できます。
- channel_name
- チャネル channel_name 内のすべてのコンテナーを記述します。
- *
- 現在の有効範囲にあるすべてのチャネル内のすべてのコンテナーを記述します。
- SOAP
- すべての SOAP コンテナーを記述します。SOAP は DFHNODE の同義語です。
サブオプションを指定しない場合、Debug Tool は現行チャネル内のすべてのコンテナーをリストします。
- CUS
- コンパイル単位の属性 (コンパイラー・オプションおよび内部ブロックのリストなどを含む) を記述します。戻される情報は、コンパイル単位をコンパイルする HLL によって異なります。CUS は PROGRAMS と同等です。
- cu_spec
- リスト対象とする属性を持つコンパイル単位の名前。
- *
- すべてのコンパイル単位を記述します。
- PROGRAMS
- CUS と同等です。
- ENVIRONMENT
- 戻される情報には、現在オープンされているファイルのリストを含みます。オープンされていたが現在クローズされているファイルの名前は、
そのリストにはありません。COBOL、アセンブラー、および逆アセンブリー
では、DESCRIBE ENVIRONMENT についての情報は何も提供されません。
- LOADMODS
- このコマンドは、Debug Tool に認識されているロード・モジュールと、これらのロード・モジュール内の既知または潜在的 CU に関する情報を表示します。
オペランドを指定しない場合は、現在アクティブなロード・モジュールが想定されます。
- *
- アドレス、長さ、エントリー・ポイント、およびモジュールのロード元であるデータ・セットとともに、Debug Tool に認識されたすべてのロード・モジュールの
リストを表示します。
- load_spec
- 指定したロード・モジュール (複数可) と、そのロード・モジュール内のすべての既知および潜在 CU に関する情報を表示します。
この CU 情報は、CSECT 名、アドレス、長さ、プログラミング言語で構成されます。
使用上の注意
例
- argc、argv、boolean、i、ld、および
structure の属性を記述します。
DESCRIBE ATTRIBUTES (argc, argv, boolean, i, ld, structure);
- 現在の環境を記述します。
DESCRIBE ENVIRONMENT;
- プログラム myprog の記述についての情報を表示します。
DESCRIBE PROGRAMS myprog;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
DISABLE コマンド
DISABLE コマンドは、AT またはパターン・マッチ・ブレークポイントを無効にします。
ただし、ブレークポイントは消去されません。後で ENABLE コマンドを使用することで、ブレークポイントを有効にできます。
- AT_command
- 使用可能な AT コマンド。AT コマンドは、every_clause および command が
省略されていることを除き、完全に入力する必要があります。有効な形式は、CLEAR AT で許可された形式と同じです。
- DTCN LOADMOD、DTCN CU、CADP PROGRAM、
または CADP CU
- DTCN または CADP プロファイル内に指定されたプログラムまたはコンパイル単位
一致する prog_id、loadmod_id、または cu_id に指定されたプログラム、
ロード・モジュール、またはコンパイル単位によって Debug Tool が始動されないようにします。 以下の比較が行われます。
- DTCN の場合、Debug Tool は、loadmod_id と LoadMod フィールドにある値を比較し、
さらに、cu_id と CU フィールドにある値を比較します。
- CADP の場合、プログラム ID フィールドに指定されたものと prog_idが比較され、コンパイル単位フィールドに指定されたものと cu_id が比較されます。
特定の名前 (PROG1 など) またはワイルドカード文字を使用した部分的な名前 (EMPL* など) を指定できます。
使用上の注意
- DISABLE CADP および DISABLE DTCN コマンドはリモート・デバッグ・モードで使用できます。
- DISABLE コマンドは、活動状態または中断状態のブレークポイントを使用不可にするために使用できます。
ただし、このコマンドは、中断状態のラベル・ブレークポイントを使用不可にするためには使用できません。
- 中断状態のブレークポイントを使用不可にする場合は、ロード・モジュールと CU 名の両方を指定する必要があります。
- 使用禁止の AT コマンドを再び使用可能にする
には、ENABLE コマンドを使用してください。
- AT コマンドを使用禁止にしても、重複する AT コマンドが
後に指定された場合の新しい (使用可能) バージョンによる置き換えには影響しません。また、CLEAR AT コマンドによる除去を妨げることもありません。
- 特定の AT コマンドで指定した範囲内で使用不可になっているブレークポイント
は影響されませんが、使用可能になっているブレークポイントがないことが判明した特定範囲に対しては、警告メッセージが出されます。
- DISABLE コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
- CICS で実行されている疑似会話型アプリケーションの場合、DISABLE CADP または DISABLE DTCN コマンドは、現行の CICS 疑似会話型タスクにのみ適用されます。
- PL/I、COBOL、アセンブラー、
および逆アセンブリーでは、cu_id が大/小文字混合であるか大/小文字の区別がある場合は、
名前を引用符 (") またはアポストロフィ (') で囲む必要があります。
- C および C++ の場合、Debug Tool は、cu_id を、引用符 (") で囲まれていなくても、
常に大/小文字の区別があるものとして扱います。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
DISABLE 接頭部 (フルスクリーン・モード)
ユーザーがソース・ウィンドウの接頭部域でこのコマンドを出すと、ステートメント・ブレークポイントまたはオフセット・ブレークポイントが使用不可になります。
- integer
- 行内の相対ステートメント (C および C++ または PL/I の場合) または相対 verb (COBOL の場合) を選択します。デフォルトは 1 です。
例
行の 3 番目のステートメントまたは verb でブレークポイントを使用禁止に
します (そのステートメントがある行の接頭部域に次のコマンドを入力
することによって)。
DIS 3
キーワードと整数の間にはスペースを入れる必要は
ありません。DIS 3 は DIS3 と同じです。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- Debug Tool ユーザーズ・ガイド
DO コマンド (アセンブラー、逆アセンブル、および COBOL)
DO コマンドは、グループ化された 1 つ以上のコマンドを実行します。DO と END キーワードは、DO グループと
呼ばれているコマンドのグループを区切ります。キーワードを省略することはできません。
- command
- 有効な Debug Tool コマンド。
do/while コマンド (C および C++)
do/while コマンドは、テスト式を評価する前にコマンドを実行することができます。この実行命令によって、そのコマンドは少なくとも 1 回実行することができます。do および while キーワードは小文字でなければならず、省略することはできません。
- command
- 有効な Debug Tool コマンド。
- expression
- 有効な Debug Tool C および C++ 式。
ループの本文は、while 文節 (制御部) が評価される前に実行されます。do/while 文節コマンドをさらに実行するか否かは、while 文節の値によります。while 文節が偽と評価されない場合、コマンドは再び実行されます。それ以外の場合、コマンドの実行は終了します。
while 文節が偽と評価されなくても、break コマンドが原因で do/while コマンドの
実行が終了してしまう場合もあります。
使用上の注意
do/while コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
次のコマンドは、1 の入力を要求します。1 を入力すると、コマンドは実行を終了します。それ以外の場合、コマンドは新たなプロンプトを表示します。
int reply1;
do {
printf("Enter a 1.¥n");
scanf("%d", &reply1);
} while (reply1 != 1);
DO コマンド (PL/I)
DO コマンドを使用すると、1 つ以上のコマンドをグループにまとめ、繰り返し実行 (オプションで) することができます。DO と END キーワードは、まとめて DO グループと
呼ばれているコマンドのグループを区切ります。キーワードを省略することはできません。
単純型
- command
- 有効な Debug Tool コマンド。
反復型
- WHILE
- コマンド・リストの実行前に、毎回、expression を評価するように
指定します。式の評価が真になると、コマンドが実行され、DO グループは
もう 1 サイクル進みます。評価が偽の場合は、DO グループの実行が終了します。
- expression
- 有効な Debug Tool PL/I ブール式。
- UNTIL
- コマンド・リストの実行後に、毎回、expression を評価するように
指定します。式の評価が偽になると、コマンドが実行され、DO グループはもう 1 サイクル
進みます。評価が真の場合は、DO グループの実行が終了します。
- command
- 有効な Debug Tool コマンド。
反復

- reference
- 有効な Debug Tool の PL/I の参照。
- expression
- 有効な Debug Tool の PL/I の式。
- BY
- expression を DO グループへの入り口で評価し、結果を保存するよう指定します。保存された値が、DO グループを実行するごとに、制御変数に加算する増分になります。
BY expression が DO グループの指定に
なく、TO expression の指定がある
場合、expression のデフォルトは 1 の値になります。
BY 0 の指定がなされていると、DO グループの
実行は、WHILE または UNTIL オプションによる停止、あるいは、DO グループの外への
制御の移動がない限り、無限に継続します。
BY オプションによって、制御変数を正または負の固定増分だけ
加減することができます。
- TO
- expression を、DO グループの入り口で評価し、結果を保存するよう指定します。保管される値が、制御変数の終了値です。
TO expression が DO グループの指定に
なくて、BY expression の指定がある場合、反復実行は、WHILE または UNTIL オプションにより
それが終了するまで、あるいはいずれかのステートメントで制御
が DO グループの外に移動するまで、継続します。
TO オプションによって、制御変数を正または負の固定増分だけ
加減することができます。
- REPEAT
- DO グループを実行する度にその後で expression を
評価し、制御変数に代入を行うよう指定します。反復実行は、WHILE または UNTIL オプションにより
それが終了するまで、あるいは、いずれかのステートメントで制御
が DO グループの外に移動するまで継続します。
REPEAT オプションにより、制御変数の値を非線形に
変更することが可能です。ポインターなど、非算術的な制御変数にも、このオプションを使用できます。
- WHILE
- コマンド・リストの実行前に、毎回、expression を評価するように
指定します。式の評価が真になると、コマンドが実行され、DO グループは
もう 1 サイクル進みます。評価が偽の場合は、DO グループの実行が終了します。
- UNTIL
- コマンド・リストの実行後に、毎回、expression を評価するように
指定します。式の評価が偽になると、コマンドが実行され、DO グループはもう 1 サイクル
進みます。評価が真の場合は、DO グループの実行が終了します。
- command
- 有効な Debug Tool コマンド。
使用上の注意
DO コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
- ステートメント 25 で、変数 a を初期設定し、変数 x、y、および
z の値を表示します。
AT 25 DO; %BLOCK:>a = 0; LIST (x, y, z); END;
- ctr が 4 より大きくなるか、0 より小さくなる
まで、DO グループを実行します。
DO UNTIL (ctr > 4) WHILE (ctr >= 0); END;
- i の値を 1、2、4、8、16、32、64、128、および 256 に
して DO グループを実行します。
DO i = 1 REPEAT 2*i UNTIL (i = 256); END;
- j の値を 1 から 20 にして、k の値が 1 である
場合に限り、DO グループの実行を反復します。
DO j = 1 TO 20 BY 1 WHILE (k = 1); END;
ENABLE コマンド
ENABLE コマンドは、DISABLE コマンドで無効にされた AT またはパターン・マッチ・ブレークポイントをアクティブにします。
- AT_command
- 無効になっている AT コマンドを指定します。AT コマンドは、every_clause および command が
省略されていることを除き、完全に入力する必要があります。有効な形式は、CLEAR AT で許可された形式と同じです。
- DTCN LOADMOD、DTCN CU、CADP PROGRAM、
または CADP CU
- 前に DISABLE コマンドで無効にされた CADP または DTCN プロファイルを再度有効にします。
loadmod_id、prog_id、
または cu_id に指定する名前は、DISABLE コマンドで指定した loadmod_id、prog_id、
または cu_id と一致する必要があります。
loadmod_id、prog_id、または cu_id を指定しない場合、
Debug Tool は、前に無効にされたすべての DTCN または CADP プロファイルを有効にします。
無効にされていないプロファイルに loadmod_id、prog_id、または cu_id を指定しようとすると、Debug Tool はエラー・メッセージを表示します。
使用上の注意
例
- 前に使用不可に設定された AT ENTRY mysub CALL proc1; コマンドを
再び使用可能にします。
ENABLE AT ENTRY mysub;
- 以下のコマンドを入力して、PROGA が実行されるごとに Debug Tool を始動できるように、(前に
コマンド DISABLE DTCN CU PROGA; で実行しないようにしていた) DTCN を指定します。
ENABLE DTCN CU PROGA;
- CADP プロファイルと一致するプログラムが実行される度に Debug Tool を始動できるようにするには、CADP を指定します。これは、前にコマンド DISABLE CADP *; で実行を防止されていたものです。
ENABLE CADP *;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
ENABLE 接頭部 (フルスクリーン・モード)
ユーザーがソース・ウィンドウの接頭部域でこのコマンドを出すと、使用不可のステートメント・ブレークポイントまたは使用不可のオフセット・ブレークポイントが使用可能になります。
- integer
- 行内の相対ステートメント (C および C++ または PL/I の場合) または相対 verb (COBOL の場合) を選択します。デフォルト値は 1 です。最適化 COBOL プログラムでは、デフォルト値は、最適化プログラムによって廃棄されなかった最初の実行可能ステートメントです。
例
行の 3 番目のステートメントまたは verb でブレークポイントを使用可能にします (そのステートメントがある行の
接頭部域には次のように入力します)。
ENABLE 3
キーワードと整数の間には、区切り文字としてのスペースは必要はありません。したがって、ENABLE 3 は ENABLE3 と同じです。
EVALUATE コマンド (COBOL)
EVALUATE コマンドは、ネストされた一連の IF ステートメント
に簡単な表記法を提供します。キーワードを省略することはできません。
- constant
- 有効な Debug Tool COBOL 定数。
- expression
- 有効な Debug Tool COBOL 算術式。
- reference
- 有効な Debug Tool COBOL 参照。
- condition
- 単一比較条件。
- command
- 有効な Debug Tool コマンド。
使用上の注意
- 単一の対象だけがサポートされます。
- 関連するコマンドを持たない連続した WHEN はサポートされません。
- THROUGH/THRU の範囲は定数または参照として指定できます。
- 以下の COBOL キーワードの説明については、「Enterprise COBOL for z/OS and OS/390 言語解説書」を参照してください。
- ANY
- FALSE
- NOT
- OTHER
- THROUGH
- THRU
- TRUE
- WHEN
- Debug Tool は、EVALUATE コマンドを
一連の IF コマンドとして実行します。
- PLAYBACK ENABLE コマンドの DATA オプションが現行のコンパイル単位に対して有効な場合、記録されたステートメントを PLAYBACK コマンドを使用して再生する間に EVALUATE コマンドを使用することができます。
- 最適化 COBOL プログラムでは、reference の値は最適化プログラムによって廃棄された変数を参照できません。
- COBOL 変数が国別として定義され、
それが英字、英数字オペランド、または国別数字との比較条件内のオペランドである場合、
国別でないオペランドは、グループ項目の場合を除いて、
その比較が行われる前に ユニコードに変換されます。
条件式における COBOL 変数の使用について詳しくは、「Enterprise COBOL for z/OS and OS/390 言語解説書」を参照してください。
例
次の例では、EVALUATE コマンド、および IF コマンドの
それに相当するコーディングを示しています。
EVALUATE menu-input
WHEN "0"
CALL init-proc
WHEN "1" THRU "9"
CALL process-proc
WHEN "R"
CALL read-parms
WHEN "X"
CALL cleanup-proc
WHEN OTHER
CALL error-proc
END-EVALUATE;
同等の IF コマンド:
IF (menu-input = "0") THEN
CALL init-proc
ELSE
IF (menu-input >= "1") AND (menu-input <= "9") THEN
CALL process-proc
ELSE
IF (menu-input = "R") THEN
CALL read-parms
ELSE
IF (menu-input = "X") THEN
CALL cleanup-proc
ELSE
CALL error-proc
END-IF;
END-IF;
END-IF;
END-IF;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
expression コマンド (C および C++)
expression コマンドは、所定の式を評価します。式を使用して、変数への値の代入、または関数の呼び出しができます。
- expression
- 有効な Debug Tool C および C++ 式。代入は、C および C++ の代入演算子の 1 つを式に入れることによって影響されます。独立した式の計算結果の値は使用されません。
使用上の注意
- 式における関数呼び出しは、現在実行中のエンクレーブ内の関数に限られます。
- Expression コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
- 変数 x、y、z を初期化します。
変数に値を提供する関数を使用できます。
x = 3 + 4/5;
y = 7;
z = 8 * func(x, y);
- y を増分し、omega の 4 による整数除算の剰余
を alpha に代入します。
alpha = (y++, omega % 4);
- 逆アセンブル表示で R1 へ新しい値をリストして代入するには、次のようにします。
LIST(R1);
R1 = 0x0001FAF0;
FIND コマンド
FIND コマンドにより、ソース・オブジェクトのフルスクリーンおよび行モードの検索機能や、ログおよびモニター・オブジェクトのフルスクリーンの検索が可能になります。

- string
- 現行プログラム言語の文字ストリング定数の構文に適合する、検索するストリング。このストリングは、次の制限事項に従う必要があります。
- ストリング長は、128 バイトを超えることはできません。
- ストリングにスペースが含まれているか、またはストリングがアスタリスク (*)、疑問符 (?)、またはセミコロン (;) の
いずれかである場合は、以下の規則で説明されているように、ストリングを引用符 (") またはアポストロフィ (') で囲む必要があります。
- C および C++ の場合は、引用符 (") を使用します。
- COBOL、アセンブラー、逆アセンブリー、または PL/I の場合は、引用符 (") またはアポストロフィ (') を使用します。
表 5. FIND コマンドでの、ストリングに対する引用符 (") およびアポストロフィ (') の指定方法の例
| C |
C++ |
COBOL または非言語環境プログラム COBOL |
アセンブラーまたは逆アセンブリー |
PL/I |
| "ABC" |
"IntLink::*" |
"A5" または 'A5' |
'ABC'、"ABC"、または C'ABC' |
'ABC' または "ABC" |
- ストリングに引用符 (") またはアポストロフィ (') が含まれている場合は、偶数の数の引用符またはアポストロフィを使用してストリングを指定する (
バランスを取るとも呼ばれます) 必要がある場合があります。次の規則を使用して、ストリングのバランスを取る方法を判別します。
- PL/I では、ストリングにアポストロフィが含まれている場合は、そのアポストロフィの直後にアポストロフィを追加する必要があります。ストリングにスペースが含まれている場合は、ストリング全体をアポストロフィで囲みます。
- C および C++ では、ストリングに引用符が含まれる場合は、その引用符の直後に引用符を追加する必要があります。ストリングにスペースが含まれている場合は、ストリング全体を引用符で囲みます。
- アセンブラー、COBOL、または逆アセンブリーでは、ストリングにアポストロフィが含まれ、アポストロフィで区切られている場合は、ストリング内のアポストロフィの直後にアポストロフィを追加する必要があります。ストリングに引用符が含まれ、引用符で区切られている場合は、ストリング内の引用符の直後に引用符を追加する必要があります。ストリングにスペースが含まれる場合は、引用符のバランスを取る必要はありません。ただし、引用符またはアポストロフィでストリング全体を囲む必要があります。
オペランドが指定されていないと、繰り返し FIND が実行されます。
繰り返し FIND については、使用上の注意および「Debug Tool ユーザーズ・ガイド」に説明があります。
- *
- 前の FIND コマンドのストリングを使用します。
- leftcolumn
- 検索の左端のカラムを指定する正整数。
これは、ソース・ウィンドウで、行モードの場合のみサポートされます。ログ・ウィンドウおよびモニター・ウィンドウでは無視されます。rightcolumn および * が省略されている場合、ストリングは leftcolumn から開始する必要があります。
- rightcolumn
- 検索の右端のカラムを指定する正整数。
これは、ソース・ウィンドウで、行モードの場合のみサポートされます。ログ・ウィンドウおよびモニター・ウィンドウでは無視されます。
- *
- 各ソース・レコードの長さを検索の右方カラムとして使用することを指定します。これは、ソース・ウィンドウで、行モードの場合のみサポートされます。ログ・ウィンドウおよびモニター・ウィンドウでは無視されます。
- FIRST
- オブジェクトの先頭から開始し、順方向に検索してストリングの最初のオカレンスを見つけます。
- LAST
- オブジェクトの最後から開始し、逆方向に検索してストリングの最後のオカレンスを見つけます。
- NEXT
- 現行カーソル位置より後ある最初の位置から開始し、順方向に検索してストリングの 1 つ後のオカレンスを見つけます。
- PREV
- 現行カーソル位置から開始し、逆方向に検索してストリングの 1 つ前のオカレンスを見つけます。
- CURSOR (フルスクリーン・モード)
- 検索されたオブジェクトが現行カーソル位置で選択されるように指定します。
- LOG (フルスクリーン・モード)
- セッション・ログ・ウィンドウ内のオブジェクトを選択します。
- MONITOR (フルスクリーン・モード)
- モニター・ウィンドウ内のオブジェクトを選択します。
- SOURCE (フルスクリーン・モード)
- ソース・リスト作成ウィンドウ内のオブジェクトを選択します。
使用上の注意
例
- モニター・ウィンドウで名前 myvar を検索することを示します。
FIND myvar MONITOR;
- ソース・ウィンドウから var1 の次のオカレンスを検索したい場合には、単に次のように入力します。
FIND
最後に検索したストリングを Debug Tool が記憶しているので、変数名を指定する必要はありません。ソース・ウィンドウが再び前方にスクロールされ、var1 が強調表示
され、カーソルがその変数を示します。
- PL/I プログラムをデバッグしていて、「Source」ウィンドウで疑問符 (?) を検索する必要がある場合は、次のコマンドを入力します。
FIND '?' ;
- PL/I プログラムをデバッグしていて、「Source」ウィンドウでストリング User's を検索する必要がある場合は、次のコマンドを入力します。
FIND User''s ;
- C プログラムをデバッグしていて、「Source」ウィンドウでストリング User's を検索する必要がある場合は、次のコマンドを入力します。
FIND User's ;
- PL/I プログラムをデバッグしていて、「Source」ウィンドウでストリング User's Guide を検索する必要がある場合は、次のコマンドを入力します。
FIND 'User''s Guide' ;
- C プログラムをデバッグしていて、「Source」ウィンドウでストリング User's Guide を検索する必要がある場合は、次のコマンドを入力します。
FIND "User's Guide" ;
- コマンド FIND xyz LAST; または FIND xyz PREV; を入力して、カーソルが、
検出されたストリング上 ("xyz") にある場合、検索を繰り返すには、FIND コマンドに割り当てられた PF キーを押します。
Debug Tool はコマンド FIND xyz PREV; を実行します。
- FIND xyz; コマンドが入力されると、Debug Tool は順方向に検索します。
ストリング "xyz" を逆方向に検索するには、FIND * PREV; コマンドを入力します。
- COBOL の領域 A のカラム 8 から始まる paraa という名前の COBOL パラグラフ定義を検索する場合は、次のコマンドを入力します。
FIND paraa 8 ;
- COBOL の領域 B の paraa という名前の COBOL パラグラフの参照を検索する場合は、次のいずれかのコマンドを入力します。
FINDBP コマンド
FINDBP コマンドは、
ソース・オブジェクト内の行、ステートメント、およびオフセット・ブレークポイントを検索するフルスクリーン検索機能を提供します。
FINDBP キーワードを省略することはできません。
- FIRST
- ソース・オブジェクトの始めから開始して、順方向に検索し、最初の行、ステートメント、またはオフセット・ブレークポイントを見つけます。
- LAST
- ソース・オブジェクトの最後から開始して、逆方向に検索し、最後の行、ステートメント、またはオフセット・ブレークポイントを見つけます。
- NEXT
- ソース・ウィンドウ内の現行カーソル位置の後の次の行から開始し、
順方向に検索し、
次の行、ステートメント、またはオフセット・ブレークポイントを見つけます。
- PREV
- ソース・ウィンドウ内の現行カーソル位置の前の行から開始し、
逆方向に検索し、前の行、ステートメント、またはオフセット・ブレークポイントを見つけます。
- ENABLED
- 検索を使用可能なブレークポイントに制限します。デフォルトには、使用可能なブレークポイントと使用禁止のブレークポイントの両方をリストします。
- DISABLED
- 検索を使用禁止のブレークポイントに制限します。デフォルトには、使用可能なブレークポイントと使用禁止のブレークポイントの両方をリストします。
使用上の注意
- オペランドが指定されていない場合、繰り返し FINDBP が実行されます。
繰り返し FINDBP は次のように動作します。
- 以前に入力した FINDBP コマンドで FIRST または NEXT パラメーターが指定または暗黙に定義されている場合、
Debug Tool は NEXT パラメーターを使用します。
- 以前に入力した FINDBP コマンドで LAST または PREV パラメーターが指定または暗黙に定義されている場合、
Debug Tool は PREV パラメーターを使用します。
- 繰り返し FINDBP が、
失敗した FINDBP または繰り返し FINDBP の直後に続く場合、Debug Tool は、
最後の行から最初の行に折り返して検索を続行します。
FINDBP の元の方向がソース・オブジェクトの先頭に逆方向の場合、
Debug Tool は最初の行から最後の行に折り返します。
- 前に入力した FINDBP コマンドで
ENABLED または DISABLED パラメーターが指定または暗黙に定義されている場合、Debug Tool は、
それぞれ、ENABLED または DISABLED パラメーターを使用します。
- 繰り返し FINDBP を頻繁に使用する場合、PF キー (例えば PF17 またはシフト PF5) を FINDBP に設定します。
コマンドを PF キーに割り当てる方法の説明については、SET PFKEY コマンドを参照してください。
- 検索は以下のように動作します。
- FIRST が指定されると、検索はソース・オブジェクトの最初の行から開始されます。
- LAST が指定されると、検索はソース・オブジェクトの最後の行から開始されます。
- NEXT が指定されるか、コマンドがデフォルトで NEXT に設定されていて、
カーソルがソース行上またはその接頭部域または接尾部域にある場合、検索は、カーソルがある行の次の行から開始されます。
- NEXT が指定されるか、コマンドがデフォルトで NEXT に設定されているが、
カーソルがソース行上またはその接頭部域または接尾部域にない場合、検索は、ソース・ウィンドウの最初の行から開始されます。
- PREV が指定されるか、コマンドがデフォルトで PREV に設定されていて、
カーソルがソース行上またはその接頭部域または接尾部域にある場合、検索は、カーソルがある行の前の行から開始されます。
- PREV が指定されるか、コマンドがデフォルトで PREV に設定されているが、
カーソルがソース行上またはその接頭部域または接尾部域にない場合、検索は、ソース・ウィンドウの最初の行の前の行から開始されます。
ソース・オブジェクトの最初の行が表示されている場合、
Debug Tool は、ソース・オブジェクトの最後に折り返して、最後のソース行から続行します。
- Debug Tool がブレークポイントを検出すると、Debug Tool はソース・ウィンドウをスクロールして、ブレークポイントを表示します。
Debug Tool は、カーソルを、ブレークポイントがあるソース行の接頭部域の始めに置きます。
- Debug Tool がブレークポイントを検出しない場合、画面は変更されず、カーソルは移動しません。
NEXT または PREV が指定されるか、
コマンドがデフォルトで NEXT または PREV に設定されていて、Debug Tool がソース・オブジェクトの一部のみを検索した場合、
Debug Tool は、メッセージ「Bottom of data reached (データの終わりに達しました)」または「Top of data reached (データの先頭に達しました)」を適宜表示します。
Debug Tool がソース・オブジェクト全体を検索した場合、
メッセージ「行、ステートメント、またはオフセット・ブレークポイントが見つかりません (No line, statement or offset breakpoints were found)」が表示されます。
- 1 つのソース行上に、
複数の行またはステートメント・ブレークポイントが存在している場合でも、FINDBP コマンドは、そのうちの 1 つしか検出しません。
- FINDBP コマンドは、AT STATEMENT * ブレークポイントを検出しません。
- FINDBP コマンドは、
現在修飾されているコンパイル単位 (ソース・ウィンドウで表示されているコンパイル単位) だけを検索します。
- Debug Tool は FINDBP コマンドをログに記録しません。
- 探しているブレークポイントの行番号またはステートメント番号がわかっている場合、
これを見つける最もクイックな方法は、SCROLL TO nnnnn コマンド
または POSITION nnnnn コマンドを使用する方法です。
これを使用すると、ソース・ウィンドウがスクロールされ、
接頭部域に nnnnn がある行がソース・ウィンドウの最初の行になります。
例
関連
資料
for コマンド (C および C++)
for コマンドを使用すると、C および C++ の for ステートメントと
同様に繰り返しループを作成することができます。これによって、次のことが可能になります。
- コマンドの最初の繰り返しの前に式を評価します ("初期設定")。
- コマンドを再度実行しなければならないかどうかを判別する式を指定します ("制御部")。
- コマンドの繰り返しが行われるたびに式を評価します。
- 制御部が偽と評価されない場合に、コマンドまたは block を実行します。
for キーワードは小文字でなければならず、省略することはできません。
- expression
- 有効な Debug Tool C および C++ 式。
- command
- 有効な Debug Tool コマンド。
Debug Tool は、コマンドが初めて実行される前にのみ、最初
の expression を評価します。この式を使用して、変数を初期設定することができます。コマンドの最初の繰り返しの前に式を評価する必要がない場合は、この式を省略することができます。
Debug Tool は、コマンドの実行の前に毎回、2 番目の expression を評価します。この式が偽と評価される場合、コマンドは実行されず、制御は for コマンドに
続くコマンドに移ります。それ以外の場合、コマンドは実行されます。2 番目の式を省略した場合、式がゼロ以外の定数によって置き換えられたことになり、for コマンド
は、この式の失敗によっては終了されることはありません。
Debug Tool は、コマンドの実行の後に毎回、3 番目の expression を評価します。この式を使用すれば、変数の増加、削減、または再初期設定を行うことができます。コマンドの繰り返しの度に式を評価する必要がない場合は、この式を省略することができます。
break コマンドを使用すると、2 番目の式が偽と評価されなくても、for コマンドの終了を
実行することができます。2 番目の式を省略する場合は、break コマンドを使用して、for コマンドの実行を停止
しなければなりません。
使用上の注意
- for コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
- 次の for コマンドは、count の値を 20 回リストします。for コマンドは、最初に count の値を 1 に設定します。各コマンドが実行されるたびに、count が増加されます。
for (count = 1; count <= 20; count++)
LIST TITLED count;
代替手法として、上の例は、次のコマンド順序で作成されても同じタスクを実行することができます。
count = 1;
while (count <= 20) {
printf("count = %d¥n", count);
count++;
}
- 次の for コマンドは、初期設定式を含みません。
for (; index > 10; --index) {
varlist[index] = var1 + var2;
printf("varlist[%d] = %d¥n", index, varlist[index]);
}
FREE コマンド
FREE コマンドは、現在割り振られているファイルを解放します。
- ddname
- 解放するファイルの名前。
GO コマンド
GO コマンドは、Debug Tool にユーザーのプログラムの実行を開始または再開させます。
- BYPASS
- ブレークポイントの原因となった条件についてのユーザーまたは
システムの処置をバイパスします。
このコマンドが有効とされるのは、次の理由で Debug Tool に入った場合です。
- AT CALL ブレークポイントの発動
- HLL または言語環境プログラム条件の発生
- 言語環境プログラムランタイムなしに実行している場合に、MVS または CICS ABEND で発生した条件
使用上の注意
- GO がコマンド・リストで指定される (例えば、IF コマンド
または WHEN 文節の対象として指定される) 場合、リスト内の後続のコマンドはすべて無視されます。
- ループの本体の中で GO を指定すると、ループの実行は終了します。
- GO コマンドの利用記録を抑止するには、SET ECHO コマンド
を使用してください。
- オペランドが指定されない GO は、未処理の追加 AT 条件が
ある場合、実際にはプログラムを再開しません。
- GO コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
- GO コマンドをリモート・デバッグ・モードで使用できるのは、このコマンドを アクション・フィールドに入力した場合のみです。このフィールドは、ブレークポイントの追加タスクのオプション・パラメーター・セクションにあります。
例
- 実行を再開します。
GO;
- 実行を再開し、ブレークポイントの原因となった条件についてのユーザーおよびシステムの処置をバイパスします。
GO BYPASS;
- アプリケーションが記憶保護例外によって異常終了したため
に、OCCURRENCE ブレークポイントが起動されました。例外発生の原因となった命令を
訂正し、GO BYPASS; を出して、異常終了が発生しなかったかのように
処理を継続します。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
GOTO コマンド
GOTO コマンドを使用すると、Debug Tool は指定されたステートメント ID で
プログラム実行を再開することができます。GOTO キーワードは省略することはできません。
ターゲット位置で、Debug Tool からユーザーに制御を戻したい場合には、その位置にブレークポイントが
あることを確認してください。
使用上の注意
- GOTO コマンドは、逆アセンブルされたプログラムのデバッグ中は使用できません。
- GOTO がコマンド・リストで指定される (例えば、IF コマンドまたは WHEN 文節の対象として指定される) 場合、そのリスト内の後続のコマンドはすべて無視されます。
- プログラムが最小限の最適化でコンパイルされている場合、GOTO ステートメントの使用に制限はありません。
- GOTO コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
- C、C++、および PL/I では、最適化の実行中にコンパイラーによってステートメントが除去されることが
ありますから、GOTO コマンドでは、プログラム実行中に到達可能なステートメントまたは参照を指定してください。LIST STATEMENT NUMBERS コマンドで指示すれば、到達
可能なステートメント番号を判別できます。
- PL/I では、コマンド・リストの中の GOTO で、PLITEST または CEETEST の呼び出しが可能です。
- PL/I では、ブロックの外への GOTO は認められています。しかし、修飾が必要になる場合があります。
- COBOL では、GOTO コマンドは、GOTO ステートメントに
ついての COBOL 言語の規則に従います。GOTO コマンドは、以下の状況で使用できます。
- コンパイラーによって挿入されたフックを使用してコンパイルされた COBOL プログラム。Enterprise COBOL for z/OS バージョン 4.1 を使用する場合は、TEST コンパイラー・オプションの HOOK サブオプションを使用してプログラムをコンパイルします。以下のいずれかのコンパイラーを使用する場合は、TEST コンパイラー・オプションの PATH または ALL サブオプションと SYM サブオプションを使用してプログラムをコンパイルします。
- Enterprise COBOL for z/OS and OS/390 バージョン 3
- COBOL for OS/390 & VM バージョン 2
- コンパイラーによって挿入されたフックを使用せず、また最適化を使用しないでコンパイルされた COBOL プログラム。Enterprise COBOL for z/OS バージョン 4.1 を使用する場合は、TEST コンパイラー・オプションの NOHOOK サブオプションを使用してプログラムをコンパイルします。以下のいずれかのコンパイラーを使用する場合は、TEST コンパイラー・オプションの NONE サブオプションを使用してプログラムをコンパイルします。
- Enterprise COBOL for z/OS and OS/390 バージョン 3 リリース 2 以降
- Enterprise COBOL for z/OS and OS/390 バージョン 3 リリース 1、APAR PQ63235 適用
- COBOL for OS/390 & VM バージョン 2 リリース 2
- COBOL for OS/390 & VM バージョン 2 リリース 1 (APAR PQ63234 インストール済み)
- コンパイラーによって挿入されたフックを使用せず、最適化を使用してコンパイルされた COBOL プログラム。Enterprise COBOL for z/OS バージョン 4.1 を使用してプログラムをコンパイルする必要があり、TEST コンパイラー・オプションの EJPD および NOHOOK サブオプションを指定します。
EJPD サブオプションを指定すると、最適化の一部が失われる場合があります。
例
- ステートメント 23 で実行を再開します。このステートメント 23 は、現在アクティブなブロック内に存在
します。
GOTO 23;
ステートメント 23 にブレークポイントがない場合、Debug Tool は、ブレークポイントにヒットするまで、ステートメント 23 から実行されます。
- ステートメント 45 で実行を再開します。このステートメント 45 は、現在アクティブなブロック内に存在します。
AT 45
GOTO 45
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
GOTO LABEL コマンド
GOTO LABEL コマンドを使用すると、Debug Tool は指定された
ステートメント・ラベルでプログラム実行を再開することができます。指定されたラベルは同じブロックになければなりません。
ターゲット位置で、Debug Tool からユーザーに制御を戻したい場合には、その位置にブレークポイントが
あることを確認してください。
- statement_label
- 現在実行中のプログラムの中の有効なステートメント・ラベル、または PL/I で
は、ラベル変数を指定します。
使用上の注意
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
%IF コマンド (プログラミング言語に依存しない)
%IF コマンドを使用すると、条件によってコマンドを
実行することができます。ELSE 文節を %IF コマンドに任意で指定することができます。テストの式が偽と評価され、ELSE 文節がある場合、その ELSE 文節に関連付けられ
たコマンドが実行されます。キーワードを省略することはできません。
- condition
- サポートされるすべてのプログラミング言語に有効な、単純な比較条件。
- command
- 有効な Debug Tool コマンド、または 1 つ以上の有効な Debug Tool コマンドを含む BEGIN-END グループ。Debug Tool コマンドは、サポートされるすべてのプログラミング言語に有効でなければなりません。
%IF コマンドがネストされ、ELSE 文節がある場合、指定された ELSE は、同じブロック内で一番近くにある先行の %IF 文節
に関連付けられます。
使用上の注意
- プログラミング言語に固有の IF コマンドには、制限または使用上の注意が含まれていることがあります。これらの制限または使用上の注意は、%IF コマンドにも当てはまります。
- condition で使用される変数名は、サポートされるすべてのプログラミング言語に構文上有効でなければなりません。
- %IF コマンドをネストする場合は、プログラミング言語固有の IF コマンドと混用することはできません。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
IF コマンド (アセンブラー、逆アセンブリー、および非言語環境プログラム COBOL)
IF コマンドを使用すると、条件付きでコマンドを
実行することができます。ELSE 文節を IF コマンドに任意で指定することができます。テストの式が偽と評価され、ELSE 文節がある場合、その ELSE 文節に関連付けられ
たコマンドが実行されます。IF および ELSE キーワードは、省略することはできません。
- condition
- アセンブラー条件式
- 'condition'
- アポストロフィ (') で囲まれた非言語環境プログラム COBOL 条件式。
- command
- 有効な Debug Tool コマンド、または 1 つ以上の有効な Debug Tool コマンドを含む DO グループ。
IF コマンドがネストされ、ELSE 文節がある場合、指定された ELSE は、同じブロック内で一番近くにある先行の IF 文節
に関連付けられます。
使用上の注意
IF コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
if コマンド (C および C++)
if コマンドを使用すると、条件付きでコマンドを実行することができます。else 文節を if コマンドに任意で指定することができます。テストの式が偽と評価され、ELSE 文節がある場合、その ELSE 文節に関連付けられ
たコマンドが実行されます。if および else キーワードは小文字でなければならず、省略することはできません。
- expression
- 有効な Debug Tool C および C++ 式。
- command
- 有効な Debug Tool コマンド。
if コマンドがネストされ、else 文節がある場合、指定された else は、同じブロック内で一番近くにある先行の if 文節に関連付けられます。
使用上の注意
- IF 文節が原因で Debug Tool がさらに多くの入力を取得することになる場合 (例えば、USE コマンド、または AT 条件が発生するために Debug Tool が再始動される原因となるコマンドが IF 文節にある場合) には、ELSE 文節が必ず含まれていなければなりません。
- if コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
IF コマンド (COBOL)
IF コマンドを使用すると、条件付きでコマンドを
実行することができます。ELSE 文節を IF コマンドに任意で指定することができます。テストの式が偽と評価され、ELSE 文節がある場合、その ELSE 文節に関連付けられ
たコマンドが実行されます。キーワードを省略することはできません。
- condition
- 形式 Item-1 operator Item-2 を使用した単純な比較条件。Item-1 および Item-2 は、データ項目またはリテラルです。演算子は、以下のいずれかの演算となります。
- >
- <
- =
- NOT =
- >=
- <=
- NOT<
- NOT >
- command
- 有効な Debug Tool コマンド。
IF コマンドがネストされ、ELSE 文節が
ある場合、指定された ELSE または END-IF は、同じブロック
内で一番近くにある先行の IF 文節と関連付けられます。
COBOL とは異なり、Debug Tool には終了句読点 (;) がコマンドの後に必要です。END-IF キーワードは必須です。
使用上の注意
- IF 文節が原因で Debug Tool がさらに多くの入力を取得することになる場合
(例えば、USE コマンド、または AT 条件が発生するために Debug Tool が再始動される原因となるコマンドが IF 文節にある場合)
には、ELSE 文節が必ず含まれていなければなりません。
- COBOL の NEXT SENTENCE 句はサポートされません。
- ウィンドウ方式の日付フィールドを使用する組み合わせ比較は、サポートされません。
- 異なる DATE FORMAT 文節を持つ拡張日付フィールド間の比較は、サポートされません。
- PLAYBACK ENABLE コマンドの DATA オプションが有効な場合、記録されたステートメントを PLAYBACK コマンドを使用して再生する間に IF コマンドを使用することができます。
- 最適化 COBOL プログラムでは、IF 文節は最適化プログラムによって廃棄された変数を参照できません。
- COBOL 変数が国別として定義され、
それが英字、英数字オペランド、または国別数字との比較条件内のオペランドである場合、
国別でないオペランドは、グループ項目の場合を除いて、
その比較が行われる前に ユニコードに変換されます。
条件式における COBOL 変数の使用について詳しくは、「Enterprise COBOL for z/OS and OS/390 言語解説書」を参照してください。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
IF コマンドで実行できる比較 (COBOL)
次の表に、Debug Tool IF コマンドで実行できる
比較を示します。この表の後にコードの説明があります。
| オペランド |
GR |
AL |
AN |
ED |
BI |
NE |
ANE |
NDI |
NNDI |
ID |
IN |
IDI |
PTR |
@ |
IF |
EF |
D1 |
| Group (GR) |
NN |
NN |
NN |
NN |
NN |
NN |
NN |
NN10 |
|
NN |
|
NN |
|
|
NN |
NN |
|
| Alphabetic (AL) |
NN |
NN |
|
|
|
|
|
NN |
|
|
|
|
|
|
|
|
|
| Alpha numeric (AN)8 |
NN |
|
NN |
|
|
|
|
NN |
|
|
|
|
|
|
|
|
|
| External Decimal (ED)8 |
NN |
|
|
NU |
|
|
|
|
|
|
|
|
|
|
|
|
|
| Binary |
NN |
|
|
|
NU |
|
|
|
|
|
NU4 |
|
|
|
|
|
|
| Numeric Edited (NE) |
NN |
|
|
|
|
NN |
|
|
|
|
|
|
|
|
|
|
|
| Alphanumeric Edited (ANE) |
NN |
|
|
|
|
|
NN |
NN |
|
|
|
|
|
|
|
|
|
| FIGCON ZERO7 |
NN |
|
|
NU |
NU |
|
|
NN |
|
NU |
|
|
|
|
NU |
NU |
|
| FIGCON1、7 |
NN |
NN |
NN |
|
|
|
NN |
NN9 |
NU |
|
|
|
|
|
|
|
|
| National Data Item (NDI) |
NN10 |
NN |
NN |
|
|
|
NN |
NN |
|
|
|
|
|
|
|
|
|
| National Numeric Data Item (NNDI) |
|
|
|
|
|
|
|
|
NN |
|
|
|
|
|
|
|
|
| Numeric Literal7 |
NN |
|
|
NU |
NU |
|
|
|
NN |
NU |
NU4 |
|
|
|
NU |
NU |
|
| Alphanumeric Literal2、7 |
NN |
NN3 |
NN |
|
|
NN |
NN |
NN |
|
|
|
|
|
|
|
|
|
| Alphanumeric hex literal11 |
NN |
NN |
NN |
|
|
NN |
NN |
|
|
|
|
|
|
|
|
|
|
| Internal Decimal (ID)8 |
NN |
|
|
|
|
|
|
|
|
NU |
|
|
|
|
|
|
|
| Index Name (IN) |
NN |
|
|
|
NU4 |
|
|
|
|
|
IO4 |
NU |
|
|
|
|
|
| Index Data Item (IDI) |
NN |
|
|
|
|
|
|
|
|
|
NU |
IV |
|
|
|
|
|
| Pointer Data Item (PTR) |
|
|
|
|
|
|
|
|
|
|
|
|
NU5 |
NU5 |
|
|
|
| Address of (@) |
|
|
|
|
|
|
|
|
|
|
|
|
NU5 |
NU5 |
|
|
|
| Floating Point Literal7 |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
NU |
NU |
|
| Internal Floating Point (IF) |
NN |
|
|
|
|
|
|
|
|
|
|
|
|
|
NU |
NU |
|
| External Floating Point (EF) |
NN |
|
|
|
|
|
|
|
|
|
|
|
|
|
NU |
NU |
|
| DBCS data item (D1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NN |
| DBCS Literal7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NN |
| Address hex Literal6 |
|
|
|
|
|
|
|
|
|
|
|
|
NU5 |
NU5 |
|
|
|
| National Literal |
NN10 |
|
|
|
|
|
|
NN |
|
|
|
|
|
|
|
|
|
| National Hex Literal12 |
NN10 |
|
|
|
|
|
|
NN |
|
|
|
|
|
|
|
|
|
注:
- 1
- FIGCON には、すべての形象定数 (ZERO およ
び ALL を除く) が入ります。
- 2
- 英数字リテラルは、引用符 (") またはアポストロフィ (') で囲む必要があります。ストリングに組み込まれた引用符またはアポストロフィは、開始区切り文字として使用する場合は、直後に別の引用符またはアポストロフィを続ける必要があります。
- 3
- 英字のみ有効です。
- 4
- 比較する前に添え字値に変換される索引名
- 5
- 等号、不等号による比較のみが行われます。
- 6
- 16 進文字のみでなければなりません。引用符 (") またはアポストロフィ (') で区切られ、その前に H が付きます。
- 7
- 定数およびリテラルを、同じタイプの定数およびリテラルと比較することも
できます。
- 8
- ウィンドウ方式の日付フィールドを使用する比較は、サポートされません。
- 9
- 形象定数 HIGH-VALUES および LOW-VALUES は、ナショナル・データ項目と比較できません。
- 10
- 内部フォーマットの変換は、比較の前には行われません。
- 11
- 16 進文字のみでなければなりません。引用符 (") またはアポストロフィ (') で区切られ、その前に X が付きます。
- 12
- 16 進文字のみでなければなりません。引用符 (") またはアポストロフィ (') で区切られ、その前に NX が付きます。
許容される比較とは、「IBM OS Full American National Standard COBOL」に記述されている比較で、次のものが該当します。
- NN
- 非数字オペランド
- NU
- 数字オペランド
- IO
- 2 つの索引名
- IV
- 指標データ項目
- X
- ユーザー・エラーの可能性が高い
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連
資料
- IBM OS Full American National Standard COBOL
IF コマンド (PL/I)
IF コマンドを使用すると、条件付きでコマンドを
実行することができます。ELSE 文節を IF コマンドに任意で指定することができます。テストの式が偽と評価され、ELSE 文節がある場合、その ELSE 文節に関連付けられ
たコマンドが実行されます。キーワードを省略することはできません。
- expression
- 有効な Debug Tool の PL/I の式。
必要な場合、式は BIT ストリングに変換されます。
- command
- 有効な Debug Tool コマンド。
IF コマンドがネストされ、ELSE 文節がある場合、指定された ELSE は、同じブロック内で一番近くにある先行の IF 文節
に関連付けられます。
使用上の注意
- IF 文節が原因で Debug Tool がさらに多くの入力を取得することになる場合
(例えば、USE コマンド、または AT 条件が発生するために Debug Tool が再始動される原因となるコマンドが IF 文節にある場合)
には、ELSE 文節が必ず含まれていなければなりません。
- IF コマンドは、記録されたステートメントを LAYBACK コマンドを使用して再生する間は使用できません。
例
- array1 の値が array2 の値に等しい場合、label_1 のラベル定数があるステートメントに移動します。ユーザー・プログラムの実行は、label_1 から継続されます。array1 の値が array2 の値に等しくない場合、GOTO は
実行されず、制御はユーザー・プログラムに戻ります。
IF array1 = array2 THEN GOTO LABEL label_1; ELSE GO;
- ステートメント 23 にブレークポイントを設定して、変数 j が 10 に等しいか
テストして等しい場合は、変数 rmdr、totodd、およ
び terms(j) の名前と値を表示します。変数 j の値が 10 に等しくない場合は、プログラムの実行を継続します。
AT 23 IF j = 10 THEN LIST TITLED (rmdr, totodd, terms(j)); ELSE GO;
IMMEDIATE コマンド (フルスクリーン・モード)
IMMEDIATE コマンドを使用すると、コマンド・リスト内のコマンドを
即時に実行することができます。このコマンドは、PF キーに割り当てて使用するコマンドに適しています。
IMMEDIATE は、ネストされていないコマンドとして、あるいは
複合コマンド内でのみ入力することができます。
FIND、FINDBP、RETRIEVE、SCROLL、
および WINDOW コマンドの PF キー定義に IMMEDIATE コマンドを接頭部として付けて、
これらのコマンドをまとめて入力したときに作動できるようにします。
- command
- 次の Debug Tool コマンドのいずれかを指定します。
- FIND
- FINDBP
- RETRIEVE
- SCROLL コマンド
- BOTTOM
- DOWN
- LEFT
- NEXT
- RIGHT
- TO
- TOP
- UP
- WINDOW コマンド
使用上の注意
- IMMEDIATE コマンドはログに記録されません。
例
INPUT コマンド (C、C++、および COBOL)
INPUT コマンドは、インターセプトされた読み取りに入力を行います。これはインターセプトされたファイルについての読み取り保留が発生した場合にのみ有効です。INPUT キーワードは省略することはできません。
- text
- 保留読み取りに対するテキスト入力を指定します。
使用上の注意
- text は、INPUT キーワードから
セミコロン (または行末) の間にあるものすべてから成ります。先行または後書きブランクは、Debug Tool によって除去されます。
- セミコロン (;) が text の一部として含まれる場合、text は引用符 (") またはアポストロフィ (') に囲まれ、引用符またはアポストロフィに囲まれる文字ストリング定数についての現行プログラミング言語の構文規則に準拠している必要があります。
- text に引用符 (") またはアポストロフィ (') が含まれている場合は、その引用符またはアポストロフィの後に対応する引用符またはアポストロフィが続く必要があります。
- このコマンドは CICS ではサポートされません。
- ファイルとの間にインターセプトを設定するには、SET INTERCEPT (C、C++、および COBOL) コマンドを
使用します。
- INPUT コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
Debug Tool に順次ファイルへの入力を求めるプロンプトを
出させるために SET INTERCEPT ON を使用しました。プロンプト・メッセージとファイル名が、コマンド・ログに表示されます。
SET INTERCEPT ON コマンドで指定した DD 名から得ることになって
いた入力を、希望する入力と置き換えるには、次のように指定します。
INPUT text you want to input ;
プログラム入力はユーザーのログ・ウィンドウに記録されます。
このコマンドには、終りのセミコロン (;) が必要です。INPUT キーワードとセミコロンの間にあるものはすべて、入力テキストと見なされます。
セミコロンを含める場合は、使用するプログラミング言語に有効な文字ストリングとして入力する必要があります。入力に引用符 (") またはアポストロフィ (') を含める場合は、各引用符またはアポストロフィに対応する引用符またはアポストロフィを続けて、使用するプログラミング言語に有効な文字ストリングとして入力する必要があります。
句「quick brown fox」が保留読み取りに入力されることを示します。句はファイルに書き込まれます。
INPUT quick brown fox;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
JUMPTO コマンド
JUMPTO コマンドは、プログラムの実行を再開する位置を指定のステートメントに移動しますが、プログラムの実行を再開することはしません。
使用上の注意
- JUMPTO コマンドは、逆アセンブルされたプログラムをデバッグするときに使用することはできません。
- JUMPTO をコマンド・リストに指定すると (例えば、IF コマンドまたは WHEN 文節の主体として)、
そのリストにある後続のコマンドはすべて無視されます。
- プログラムが最小の最適化でコンパイルされると、JUMPTO コマンドは特定のステートメントには制限されません。
- JUMPTO コマンドは、PLAYBACK コマンドを使用して、記録されたステートメントを再生するときに使用することはできません。
- C、C++、および PL/I プログラムでは、最適化時にコンパイラーによってステートメントが除去されることがあります。
プログラムの実行時に到達可能な JUMPTO コマンドの参照またはステートメントを指定してください。
LIST STATEMENT NUMBERS コマンドで使用すれば、到達可能なステートメントを判別できます。
- PL/I プログラムでは、PLITEST または CEETEST への呼び出し時にコマンド・リストで JUMPTO を使用できます。
- PL/I プログラムでは、現在活動状態のブロックの外にあるステートメントを指定することはできません。
ただし、ステートメントを修飾しなければならない場合があります。
- COBOL プログラムでは、JUMPTO コマンドは、GOTO ステートメントに適用される COBOL 言語の規則に従います。
JUMPTO コマンドは、以下の状態の場合に使用できます。
- コンパイラーによって挿入されたフックを使用してコンパイルされた COBOL プログラム。Enterprise COBOL for z/OS バージョン 4.1 を使用する場合は、TEST コンパイラー・オプションの HOOK サブオプションを使用してプログラムをコンパイルします。以下のいずれかのコンパイラーを使用する場合は、TEST コンパイラー・オプションの PATH または ALL サブオプションと SYM サブオプションを使用してプログラムをコンパイルします。
- Enterprise COBOL for z/OS and OS/390 バージョン 3
- COBOL for OS/390 & VM バージョン 2
- コンパイラーによって挿入されたフックを使用せず、また最適化を使用しないでコンパイルされた COBOL プログラム。Enterprise COBOL for z/OS バージョン 4.1 を使用する場合は、TEST コンパイラー・オプションの NOHOOK サブオプションを使用してプログラムをコンパイルします。以下のいずれかのコンパイラーを使用する場合は、TEST コンパイラー・オプションの NONE サブオプションを使用してプログラムをコンパイルします。
- Enterprise COBOL for z/OS and OS/390 バージョン 3 リリース 2 以降
- Enterprise COBOL for z/OS and OS/390 バージョン 3 リリース 1、APAR PQ63235 適用
- COBOL for OS/390 & VM バージョン 2 リリース 2
- COBOL for OS/390 & VM バージョン 2 リリース 1 (APAR PQ63234 インストール済み)
- コンパイラーによって挿入されたフックを使用せず、最適化を使用してコンパイルされた COBOL プログラム。Enterprise COBOL for z/OS バージョン 4.1 を使用してプログラムをコンパイルする必要があり、TEST コンパイラー・オプションの EJPD および NOHOOK サブオプションを指定します。
EJPD サブオプションを指定すると、最適化の一部が失われる場合があります。
- JUMPTO コマンドをリモート・デバッグ・モードで使用できるのは、アクション・フィールドにこのコマンドを入力した場合のみです。このフィールドは、ブレークポイントの追加タスクのオプション・パラメーター・セクションにあります。
例
ステートメント 24 にジャンプして、そこで停止します。
次のコマンドを入力します。
JUMPTO 24;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
JUMPTO LABEL コマンド
JUMPTO LABEL コマンドは、プログラムの実行を再開する位置を指定のラベルに移動しますが、
プログラムの実行を再開することはしません。
- statement_label
- 現在実行中のプログラムの中の有効なステートメント・ラベル、または PL/I で
は、ラベル変数を指定します。
使用上の注意
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST コマンド
LIST コマンドは、指定された変数、構造、配列、レジスター、ステートメント番号、頻度情報の値、およびプログラム実行の流れなどの、プログラムに
ついての情報を表示します。LIST コマンドを使用して、どのエンクレーブの情報でも表示できます。表示されたすべての情報は、ログ・ファイルに保存されます。
次の表は、LIST コマンドの形式を要約しています。
LIST (ブランク) コマンド
ソース識別パネルを表示します。これを使用して、
コンパイル単位を、対応するリスト、ソース、または分離デバッグ・ファイルの名前に関連付けます。
この関連によって、ソース・ウィンドウに Debug Tool が表示するものが制御されます。 LIST は PANEL LISTINGS およ
び PANEL SOURCES と同じです。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST AT コマンド
現在定義されているブレークポイントをリストします。指定されたブレークポイントが活動化された場合に取られる処置も含めて
リストします。アクションが定義されないと、Debug Tool により NULL コマンドが表示されます。

- AT_command
- 少なくとも 1 つのオペランドをもつ有効な AT コマンド。AT コマンドは、every_clause および command が
省略されていることを除き、完全に入力する必要があります。
- ENABLED
- リストを使用可能なブレークポイントに制限します。デフォルトには、使用可能なブレークポイントと使用禁止のブレークポイントの両方をリストします。
- DISABLED
- リストを使用禁止のブレークポイントに制限します。デフォルトには、使用可能なブレークポイントと使用禁止のブレークポイントの両方をリストします。
- ALLOCATE
- 現在定義されている AT ALLOCATE ブレークポイントをリストします。
- APPEARANCE
- 現在定義されている AT APPEARANCE ブレークポイントをリストします。
- CALL
- 現在定義されている AT CALL ブレークポイントをリストします。
- CHANGE
- 現在定義されている AT CHANGE ブレークポイントをリストします。これは、すべての AT CHANGE 対象のストレージ・アドレスと長さを
表示し、(%STORAGE 関数によって指定されていない場合に) それらが
どのように指定されたかを示します。
- DATE
- 現在定義されている AT DATE ブレークポイントをリストします。
- DELETE
- 現在定義されている AT DELETE ブレークポイントをリストします。
- ENTRY
- 現在定義されている AT ENTRY ブレークポイントをリストします。
- EXIT
- 現在定義されている AT EXIT ブレークポイントをリストします。
- GLOBAL
- AT 条件について現在定義されている AT GLOBAL ブレークポイントをリストします。
- LABEL
- 現在定義されている AT LABEL ブレークポイントをリストします。
- LINE
- 現在定義されている AT LINE または AT STATEMENT ブレークポイントをリストします。
LINE は、STATEMENT と同等です。
- LOAD
- 現在定義されている AT LOAD ブレークポイントをリストします。
- OCCURRENCE
- 現在定義されている AT OCCURRENCE ブレークポイントをリストします。
- OFFSET
- 現在定義されている AT OFFSET ブレークポイントをリストします。
- PATH
- 現在定義されている AT PATH ブレークポイントをリストします。
- STATEMENT
- これは、LINE と同等です。
- SUSPENDED
- 中断状態のブレークポイントをすべてリストします。
- TERMINATION
- 現在定義されている AT TERMINATION ブレークポイントをリストします。
AT コマンド・タイプ (例えば LOAD) が指定されない場合、LIST AT は現在定義されているすべてのブレークポイント (使用不可と使用可能の両方) をリストします。
使用上の注意
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST CALLS コマンド
活動ブロックの動的チェーンを表示します。ブロック構造のない言語では、これは CALL チェーンです。z/OS バッチおよび TSO では、LIST CALLS により、
プロセスで活動状態にあるすべてのエンクレーブの呼び出しチェーンがリストされます。
使用上の注意
- 言語間通信 (ILC) を使用しているプログラムの場合、以前のエンクレーブからのルーチンが
リストされるのは、ルーチンが現在のエンクレーブでアクティブになっている言語で作成されている場合のみです。
- エンクレーブを system() 関数で
作成してある場合、親エンクレーブ内のコンパイル単位はリストされません。
- R13、R14、および R15 に対する標準リンケージ規則に従わないプログラムをデバッグした場合、LIST CALLS コマンドの出力が誤っていたり不完全なことがあります。
- 逆アセンブルされたプログラムのデバッグ中に、次のいずれかの状態が起こります。
- レジスターの保存域が作成されない。
- レジスターが他の保存域へチェーニングされない。
呼び出しチェーン内のいくつかのプログラムまたは CSECT が表示されない。
- LIST CALLS コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
活動ブロックの現行の動的チェーンを表示します。
LIST CALLS;
LIST CONTAINER コマンド
コンテナーの内容を表示します。
- channel_name
- コンテナーを検出するために Debug Tool が検索するチャネルの名前。
チャネル名を指定しないと、Debug Tool は現行チャネルを検索します。
- container_name
- コンテナーの名前。
- index
- 表示するための、コンテナー内の 1 バイトの場所を示す 10 進値または 16 進値。
- sub_string_start
- 表示するための、一連のバイトの開始場所を示す 10 進値または 16 進値。
- sub_string_end
- 表示するための、一連のバイトの終了場所を示す 10 進値または 16 進値。
- sub_string_length
- 表示するための、バイト数を示す 10 進値または 16 進値。
- XML
- 指定された領域に完全な XML 1.0 または 1.1 文書が含まれていることを示します。指定された領域は、z/OS XML パーサーに渡されて処理されます。パーサーが構文エラーを検出すると、エラー・データが Debug Tool ログに示されます。検出しなかった場合、Debug Tool は、フォーマット設定された XML 文書を Debug Tool ログに示します。
- EBCDIC
- 指定された領域に EBCDIC 文字が含まれていることを示します。
- ASCII
- 指定された領域に ASCII 文字が含まれていることを示します。
- CODEPAGE
- 指定された領域に指定されたコード・ページの文字が入っていることを示します。
- ccsid
- XML をエンコードする場合に使用するコード化文字セット ID を指定します。
Debug Tool は z/OS Unicode Services を使用して、
文字が 3270 端末で表示される前に、XML にある文字をこのコード・ページから EQAOPTS に指定されているコード・ページに変換します。
ccsid には、1 から 65535 の範囲の 10 進数を使用できます。
使用上の注意
- LIST CONTAINER コマンドはリモート・デバッグ・モードで使用できます。ただし、XML オプションは除きます。
- PL/I、COBOL、アセンブラー、および逆アセンブリーでは、名前が大/小文字混合または大/小文字が区別される場合は、名前を引用符 (") またはアポストロフィ (') で囲む必要があります。
- C および C++ では、名前は、引用符 (") で囲まれていない場合でも、常に大/小文字の区別があるものとして処理されます。
- XML がサポートされるのは、z/OS バージョン 1.8 以降で稼働している場合のみです。
- XML を指定したが、EBCDIC、ASCII、あるいは CODEPAGE も指定しなかった場合、
Debug Tool は、XML 文書のエンコード方式が EBCDIC であるか ASCII であるかを検出しようとします。
- XML 文書内の一部の情報 (例えば、
ほとんどの DTD 指定と一部の空白) は、z/OS XML パーサーがそれを Debug Tool に戻さないため、リストされない場合があります。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST CURSOR コマンド (フルスクリーン・モード)
変数、構造、および配列を記述するためのカーソル制御方式を提供します。これは、PF キーに割り当てられた場合に最も役に立ちます。
使用上の注意
- カーソル・ポインティングを使用するには、
コマンド行で LIST CURSOR コマンドを入力してからソース・ウィンドウ内の変数にカーソルを移動し、次に Enter を押すか、
または、カーソルを移動し、LIST CURSOR コマンドを割り当てた PF キーを押します。
- カーソル位置によって位置指定された変数に LIST CURSOR コマンドを使用する場合、その変数の名前およびその完全修飾は、ソース・リスト内で複数行にまたがって分割することはできません。
- PLAYBACK ENABLE コマンドの DATA オプションが現行のコンパイル単位に対して有効な場合、記録されたステートメントを PLAYBACK コマンドを使用して再生する間に LIST CURSOR コマンドを使用することができます。
- 最適化 COBOL プログラムでは、LIST CURSOR コマンドを使用して最適化プログラムによって廃棄された変数の値を表示できません。
例
- 変数の値を現行カーソル位置に表示します。
LIST CURSOR
- COBOL プログラムに、以下の形式のステートメントがあるとします。
MOVE a TO b
OF c
その修飾の部分 (OF c) が次の行にあるため、変数 b
に LIST CURSOR を使用することはできません。
LIST DTCN または CADP コマンド
DISABLE CADP または DISABLE DTCN コマンドによって無効にされたプログラムおよびコンパイル単位をリストします。
- DTCN
- DISABLE DTCN コマンドによって無効にされたロード・モジュールおよびコンパイル単位をリストします。
- CADP
- DISABLE CADP コマンドにより無効にされたプログラムおよびコンパイル単位をリストします。
使用上の注意
LIST DTCN または LIST CADP コマンドはリモート・デバッグ・モードで使用できます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST 式コマンド
式の値を表示します。
注:
- COBOL の場合のみ
- TITLED
- 各式をその値とともにリストに表示します。PL/I の場合のデフォルトになっています。C および C++ では、これは左辺値 の式のデフォルトです。COBOL では、単一の定数のみで構成される式を除いて デフォルトです。
アセンブラー、逆アセンブリー、
および非言語環境プログラム COBOL の場合、これは Debug Tool アセンブラー代入ステートメントの受信側として有効な式のデフォルトです。
キーワードなしで TITLED を指定すると、現在修飾されているブロック内のすべての変数がリストされます。
アスタリスク (*) を使用して TITLED を指定し、C、C++、または COBOL プログラムをデバッグする場合、
現在修飾されているコンパイル単位内のすべての変数がリストされます。
COBOL プログラムをデバッグする場合は、TITLED で次の追加オプションを使用できます。
- FS
- 現在修飾されているコンパイル単位内の COBOL File Section で定義されているすべての変数をリストします。
- WSS
- 現在修飾されているコンパイル単位内の COBOL Working-Storage Section で定義されているすべての変数をリストします。
- LS
- 現在修飾されているコンパイル単位内の COBOL Linkage Section で定義されているすべての変数をリストします。
- LOS
- 現在修飾されているコンパイル単位内の COBOL Local-Storage Section で定義されているすべての変数をリストします。
- * (C、C++、および COBOL)
- 現在修飾されているコンパイル単位内のすべての変数をリストします。
- UNTITLED
- 式を表示せずに式の値のみをリストします。C および C++ では、これは 左辺値でない 式のデフォルトです。COBOL では、これは単一の定数のみで構成されている式のデフォルトです。アセンブラー、逆アセンブリー、
および非言語環境プログラム COBOL の場合、これは Debug Tool アセンブラー代入ステートメントの受け取り側
として無効な式のデフォルトです。 LIST コマンドでは、現行プログラミング言語によっては、式に
引用符 (") またはアポストロフィ (') で囲まれた文字ストリングが含まれます。
C および COBOL では、括弧 () を含む式は、LIST コマンドによって
使用される場合には、さらに別の括弧で囲む必要があります。例えば、LIST ((x + y) / z); となります。
- GROUP (COBOL)
- 参照を EBCDIC 文字ストリングとして表示します。GROUP を基本項目に対して指定した場合、効果はありません。
GROUP キーワードに続くオペランドは、例えば LIST TITLED GROUP y; のように参照でなければなりません。
式を指定することはできません。
- expression
- 非言語環境プログラム COBOL 以外の現行プログラム言語で有効な式。
- 'expression'
- アポストロフィ (') で囲まれた有効な非言語環境プログラム COBOL 式。
使用上の注意
- LIST TITLED を FS、WSS、LS、または LOS パラメーターを指定して使用する場合は、言語環境プログラム APAR PK12834 用の PTF が z/OS バージョン 1 リリース 6 およびバージョン 1 リリース 7 にインストールされている必要があります。
- COBOL プログラムでは、LIST TITLED コマンドで変数名 FS、WSS、LS、または LOS を使用する場合は、
変数の名前を括弧で囲む必要があります。
例えば、コマンド LIST TITLED (FS) は変数 FS をリストします。
コマンド LIST TITLED FS は、File Section 内の変数をリストします。
- Debug Tool では多くのコマンドを省略できます。これによって、LIST コマンドを 1 文字の式と併用すると予期しない結果を
招く可能性があります。例えば、LIST A は LIST AT コマンドと
解釈され、すべてのブレークポイントがリストされます。しかし、プログラムの中で A というラベルの付いた
変数の値を表示したかった場合には、LIST (A) というように
括弧を使用する必要があります。
- LIST TITLED * が指定された場合にコンパイル単位が大きいと、パフォーマンスが低下します。
- COBOL の場合、LIST TITLED * が指定されていて、コンパイル単位が
大きい場合、out of storage (ストレージ不足) エラー・メッセージを
受け取る場合があります。
- COBOL では LIST コマンドは、条件名、ファイル名、または式を参照できます。
- 最適化 COBOL プログラムでは、LIST コマンドは最適化プログラムによって廃棄された変数を参照できません。
- PL/I コンパイル単位の中でパラメーターなしの LIST TITLED を
使用すると、配列の最初のエレメントのみがリストされます。配列全体のリストが必要な場合は、LIST を使用
して、配列名を指定します (すなわち、配列の名前が array である場合
は、LIST array と指定します)。
- 宣言されたデータ型で表示できない文字データが文字変数に含まれていると、Debug Tool は、特殊文字を使用してこのデータを表示します。
「Debug Tool ユーザーズ・ガイド」のトピック『宣言されたデータ型で表示できない文字の Debug Tool による処理方法』に、この場合の Debug Tool の動作が説明されています。データを 16 進数で表示する場合、2 倍のバイト数が必要になります。
表示できる最大バイト数は 65,535 です。
- PLAYBACK ENABLE コマンドの DATA オプションが現行のコンパイル単位に対して有効な場合、記録されたステートメントを PLAYBACK コマンドを使用して再生する間に LIST expression コマンドを使用することができます。
- スカラー項目を表示する場合、LIST で表示できる最大長は 65,535 バイトです。
- プログラムが Enterprise PL/I または Enterprise COBOL でコンパイルされている場合は、ソース・ウィンドウの接頭部域に L 接頭部コマンドを入力して、その行の変数の値を表示できます。
例
- 変数 size および r の値と式 c + r を、それぞれの名前とともに表示します。
LIST TITLED (size, r, c + r);
- COBOL 参照を基本項目であるかのように表示します。現行のプログラム言語の設定は COBOL です。
LIST (GROUP x OF z(1,2), GROUP a, w);
- Debug Tool 変数 %ADDRESS の値を表示します。
LIST %ADDRESS;
- 逆アセンブル・ビューで、レジスター 1 (R1) の値を表示します。
これは、Debug Tool 変数 %R1 の値です。
LIST R1 ;
- COBOL では、File Section に定義されている変数の名前と値を表示します。
LIST TITLED FS;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
L 接頭部コマンド (フルスクリーン・モード)
L 接頭部コマンド (ソース・ウィンドウの接頭部域に入力される) によって、
「ログ」ウィンドウにその行のオペランドの値が表示されます。
- integer
- リストする特定のオペランドを指定します。
integer を指定しない場合、Debug Tool はすべてのオペランドをリストします。
単一番号または形式 1,2,3 を使用する場合、Debug Tool は指定したオペランドをリストします。
1-4 という形式を使用する場合、Debug Tool はオペランドの 1 から 4 をリストします。
アセンブラーおよび逆アセンブリー以外のプログラムの場合、integer は、行上の変数の位置を指定します (左方から始める)。
行の最初の変数が位置 1 で、行の 2 番目の変数が位置 2 です。このパターンを、変数がなくなるまで繰り返します。
行に 1 つの変数が複数回使用されている場合、その変数の最初のインスタンスに位置番号が割り当てられます。
アセンブラーおよび逆アセンブリー・プログラムの場合、integer はマシン・インストラクションのオペランドを指定します。
Debug Tool は左から右に向かって、最初のオペランドをオペランド 1、2 番目のオペランドをオペランド 2 というように番号を付けていき、このパターンをオペランドがなくなるまで繰り返します。
integer を指定しない場合、Debug Tool は、命令で明示的にまたは暗黙に参照されているすべてのオペランドをリストします。
integer の形式を指定した場合、Debug Tool は、指定したオペランドで明示的に参照されたオペランドだけをリストします。
使用上の注意
- L 接頭部コマンドを入力できるのは、有効なステートメントのある行のみです。
- L 接頭部コマンドは、複数の行に入力できます。
- L 接頭部コマンドは、以下のコンパイル単位でのみ作動します。
- アセンブラーまたは逆アセンブリー・コンパイル単位
- Enterprise COBOL コンパイル単位
- Enterprise PL/I for z/OS バージョン 3.6 または 3.7 (APAR PK70606 用 PTF 適用済み) 以降で
コンパイルされた Enterprise PL/I コンパイル単位
- L 接頭部コマンドは、現在アクティブでないブロック内の行には使用できません。
- 以下の注は、
アセンブラーまたは逆アセンブリー・プログラムで L 接頭部コマンドを使用する場合に適用されます。
例
以下の例のセットでは、次のコード行を使用します。
...
293 move 0 to c; move 0 to b; move 0 to IND; move b to a;
...
319 if a + b < b + c
320 then move ind to c;
321 end-if;
...
- 行 293 の IND の値を表示するには、行 293 の接頭部域に L3 コマンドを入力します。
- 行 319 の c の値を表示するには、
行 319 の接頭部域に L3 コマンドを入力します。 c の位置は 4 ではありません。これは、b は、最初に検出されたときに (< 演算子の左方) 一度カウントされるだけであるからです。2 番目の b (< 演算子の右方) には、位置番号は割り当てられません。
- 行 293 のすべての変数の値を表示するには、行 293 の接頭部域に L コマンドを入力します。
次の例のセットでは、次のアセンブラー・ソース・コード行を使用します。
...
200 L R6,=X’31BA4038’
201 STM R1,R4,0(R6)
202 TM X’01’,FLAGS
203
...
- 行 201 に L を入力します。Debug Tool は、次のレジスターおよびメモリー位置、
すなわち、R1、R2、R3、R4、R6、および、位置 X'31BA4038' における 16 バイトのストレージをリストします。
- 行 201 に L1-2 を入力します。Debug Tool は R1 および R4 をリストします。
- 行 202 に L1 を入力します。L 接頭部コマンドがマスク・フィールドおよび即値フィールドにアクセスできないために、Debug Tool は
エラー・メッセージを表示します。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST FREQUENCY コマンド
ステートメントの実行回数をリストします。
- *
- 現在修飾されているコンパイル単位のすべてのステートメントの頻度をリスト
します。現在、修飾を利用できない AT TERMINATION ブレークポイントで実行中の場合、終了するエンクレーブの中のコンパイル単位のステートメントで、頻度データが
あるステートメントすべての頻度をリストします。
- LINES
- 頻度カウントの後のソース行を表示します。
- STATEMENT
- LINES と同じです。
使用上の注意
- 逆アセンブル表示では、LIST FREQUENCY および LIST FREQUENCY * はサポートされません。
- 記録されたステートメントを PLAYBACK コマンドを使用して再生する場合、頻度カウントは更新されません。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST LAST コマンド
ヒストリー・テーブル内の最新の記入項目のリストを表示します。
- integer
- 直前に処理されたブレークポイントおよび条件の数を表示するよう指定します。
- HISTORY
- 処理されたすべてのブレークポイントおよび条件を表示します。
- LINES
- 処理されたステートメントまたは行のブレークポイントを表示します。LINES は STATEMENTS と同等です。
- PATHS
- 処理されたパス・ブレークポイントを表示します。
- STATEMENTS
- LINES と同等です。
使用上の注意
- LAST キーワードによって、LIST コマンドを読み取り可能にできます。これは、機能を実行しません。
- 逆アセンブル表示では、LIST LAST はサポートされません。
例
- ヒストリー・テーブル内の処理されたすべてのパス・ブレークポイントを表示します。
LIST PATHS;
- Debug Tool が制御を得た過去 5 回 (最新のものから) のすべてのプログラム・ブレークポイント
および条件を表示します。
LIST LAST 5 HISTORY;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST LINE NUMBERS コマンド
LIST STATEMENT NUMBERS と同じです。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST LINES コマンド
LIST STATEMENTS と同じです。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST MONITOR コマンド
現行の MONITOR コマンドのセット、および中断状態の MONITOR LOCAL コマンドの、すべてまたは選択されたメンバーをリストします。
- integer
- MONITOR コマンドを識別する符号なし整数。2 つの整数が指定された場合、1 番目の整数は 2 番目の整数より大か等しくなることはできません。これを省略した場合は、すべての MONITOR コマンドが表示されます。
使用上の注意
- モニター・ウィンドウの接頭部域に LIST と入力すると、選択した行のモニター・コマンドをリストできます。
- 現行のプログラム言語の設定が COBOL の場合、ハイフン (-) の前後にはブランクがなければなりません。ブランクは、C ではオプションです。
- integer が指定されていない場合は、アクティブ・モニターと中断状態のローカル・モニターがリストされます。
例
現在モニターされている 5 番目から 7 番目のコマンドをリストします。
LIST MONITOR 5 - 7;
LIST NAMES コマンド
変数、プログラム、または Debug Tool プロシージャーの名前をリストします。キーワードを指定しないで LIST NAMES が出されると、現行のプログラム言語
で参照可能であり、かつ、現在修飾されているブロックから参照することが
できる、すべてのプログラム変数およびセッション変数の名前が表示されます。名前のサブセットは、一致するパターンを与えることによって指定することができます。
- pattern
- 検索されるパターン。文字ストリング定数については、現行のプログラム言語
の構文に従います。パターンの長さは、引用符 (") またはアポストロフィ (') を除いて 128 バイトを超えてはなりません。
DBCS 設定が ON であれば、パターンは DBCS 文字を含むことができます。DBCS シフト・コードは、パターン内では重要な文字とは見なされません。パターン内では、SBCS または DBCS アスタリスクは、ゼロのストリング、もしくは無意味な SBCS または DBCS
文字ストリングを表します。パターンにはアスタリスクを 8 つまで入れることができますが、隣接するアスタリスクは単一のアスタリスク
と同等です。
可能なストリングの例は、次のとおりです。
| C |
アセンブラー、COBOL または非言語環境プログラム COBOL |
PL/I |
|
"ABC"
|
"A5"
|
'MY'
|
|
|
'A5'
|
|
パターンのマッチングでは、DBCS 以外では大文字と小文字は区別されません。パターンおよび可能性のある名前の両者を、シフト・コードは別として、大文字にしておくと効果があります。ただし、現行のプログラム言語が C の場合は例外となります。現行のプログラム言語の設定が C の場合は、パターンの中の文字は正しい文字セットを使用する必要があります。
- BLOCK
- 1 つ以上の指定されたブロック内で定義された変数名を表示します。
- CUS
- コンパイル単位名を表示します。CUS は PROGRAMS と同等です。
- PROCEDURES
- Debug Tool プロシージャー名を表示します。
- PROGRAMS
- CUS と同等です。
- TEST
- Debug Tool のセッション変数の名前を表示します。
使用上の注意
- LIST NAMES CUS は、コンパイル単位名に適用します。
- LIST NAMES TEST は、現行のプログラム言語での参照が
可能なセッション変数名のみを示します。
- オプションを指定しない LIST NAMES の出力は、そのときの修飾の仕方および
そのときのプログラム言語の設定の両方によって変わってきます。現行のプログラム言語が現行の修飾のときのプログラム言語と異なる場合、コマンドの出力は、現行の
プログラム言語で参照可能なセッション変数名のみを表します。
- 構造の場合には、そのパターンが完全な名前かどうかがテストされます。
したがって、"B" は "C OF B OF A" (COBOL) の完全名とは違う名前と見なされます。
- PLAYBACK ENABLE コマンドの DATA オプションが現行のコンパイル単位に対して有効な場合、記録されたステートメントを PLAYBACK コマンドを使用して再生する間に LIST NAMES コマンドを使用することができます。
- 最適化 COBOL プログラムでは、LIST NAMES コマンドは、最適化プログラムによって廃棄された変数を表示しません。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST ON (PL/I) コマンド
指定した PL/I 条件に対して現在定義されている処置 (ある場合) をリストします。
- pli_condition
- 有効な PL/I 条件指定を行います。これを省略すると、現在定義されている ON コマンド処置のすべてをリストします。
使用上の注意
- LIST ON コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
ON ZERODIVIDE コマンドに対する処置をリストします。
LIST ON ZERODIVIDE;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST PROCEDURES コマンド
指定された Debug Tool PROCEDURE 定義に含まれるコマンドをリストします。
- name
- 有効な Debug Tool プロシージャー名を指定します。プロシージャー名が指定されない場合、現在実行中のプロシージャーに含まれるコマンドが表示されます。現在実行中のプロシージャーがない場合、エラー・メッセージが出されます。
使用上の注意
例
LIST REGISTERS コマンド
現在のレジスター内容を表示します。
- REGISTERS
- 汎用レジスター (%GPRn) を表示します。このコマンドは、実行が中断された CU 以外のアセンブラーまたは逆アセンブル CU に対して適格な場合、%Rn シンボルの値も表示します。
- 32BIT
- 32 ビット 10 進汎用レジスター (%GPRn) を表示します。
- 64BIT
- 64 ビット 10 進汎用レジスター (%GPRGn) を表示します。
- LONG
- 長精度浮動小数点レジスターの 10 進値を表示します。
- SHORT
- 短精度浮動小数点レジスターの 10 進値を表示します。
- FLOATING
- 長精度浮動小数点レジスターを表示します。
使用上の注意
64 ビットの命令をサポートしないハードウェア上でプログラムを実行している場合、
または 64 ビット汎用レジスターを使用可能でない場所で、プログラムが中断されている場合、32 ビット汎用レジスターのみ表示されます。
例
- プログラム割り込みが発生した位置で、汎用レジスターを表示します。
LIST REGISTERS;
- 浮動小数点レジスターを表示します。
LIST FLOATING REGISTERS;
LIST STATEMENT NUMBERS コマンド
AT LINE または AT STATEMENT ブレークポイントとして有効な位置である、すべてのステートメントまたは行番号をリストします。
- NUMBERS
- STATEMENT ブレークポイントの設定に使用できるステートメント番号を表示します。ただし、コンパイル時にステートメント・フックを生成するコンパイル・オプションを
使用していることが前提となります。このリストは、GOTO コマンドにも活用できますが、リストされた
すべてのステートメント番号に GOTO が可能というわけではありません。
- block_spec
- 有効なブロック指定。このオペランドは、指定されたブロック内のすべてのステートメントまたは行番号をリストします。
- cu_spec
- 有効なコンパイル単位の指定。C プログラムでは、cu_spec は、最初の関数定義の前に指定のコンパイル単位内で定義されたステートメント番号のリストに使用することができます。
- statement_id_range
- ハイフン (-) で分けられた、ステートメント ID の有効範囲。
使用上の注意
- 逆アセンブル表示では、LIST STATEMENT NUMBERS はサポートされません。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST STATEMENTS コマンド
ファイルから 1 つ以上のステートメントもしくは行をリストします。これは、基本的には、ソース・リストまたはソース・ファイルの一部を行モードで表示する場合に使用されますが、ソース・リストまたはソース・ファイルの一部をフルスクリーン・モードでログにコピーする場合にも使用することができます。
使用上の注意
- 指定された行は、広域行が切り捨てられることを
除き、フルスクリーン・ソース・ウィンドウでの表示と同じ形式で表示されます。
- 継続ステートメントが完全に表示されるようにするには、行番号の範囲を指定しなければならない
場合があります。
- このコマンドを、LIST LAST STATEMENTS コマンドと混同しないでください。
- 逆アセンブル表示では、LIST STATEMENTS はサポートされません。
例
- 現在修飾されているコンパイル単位に関連付けられているソース・ファイル内の行 25 から行 30 をリストします。
LIST LINES 25 - 30;
- 現行のプログラム・リスト・ファイルからステートメント 100 をリストします。
LIST STATEMENT 100;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LIST STORAGE コマンド
特定のアドレスのストレージの内容を 16 進または XML 形式で表示します。

- address
- リストするストレージの開始アドレス。
- reference
- ストレージ・ロケーションがリストされる変数。
アセンブラーまたは逆アセンブリーでは、このオペランドがストレージ・ロケーションを示すアセンブラー式として指定される場合があります。アセンブラー式が暗黙の長さを持たない場合 (例えば R3->+10)、integer オペランドを使用して、表示するバイト数を指定しなければなりません。
- 'reference'
- ストレージ・ロケーションがリストされる非言語環境プログラム COBOL 変数。 非言語環境プログラム COBOL 参照は、アポストロフィ (') で囲む必要があります。
- offset
- 参照のアドレス、またはユーザーが指定したアドレスが指すメモリー位置からの開始オフセットを示すバイト数を 10 進数または 16 進数で
表したもの。
offset は、負の数値にすることができます。
offset が 16 進定数の場合は、address と同じ構文規則に従う必要があります。
デフォルトは 0 です。
- length
- 表示されるストレージのバイト数 (10 進数)。
デフォルトは 16 バイトです。
length は整数でなければなりません。
- XML
- 指定された領域に完全な XML 1.0 または 1.1 文書が含まれていることを示します。指定された領域は、z/OS XML パーサーに渡されて処理されます。パーサーが構文エラーを検出すると、エラー・データが Debug Tool ログに示されます。検出しなかった場合、Debug Tool は、フォーマット設定された XML 文書を Debug Tool ログ・ファイルに示します。
- EBCDIC
- 指定された領域に EBCDIC 文字が含まれていることを示します。
- ASCII
- 指定された領域に ASCII 文字が含まれていることを示します。
- CODEPAGE
- 指定された領域に指定されたコード・ページの文字が入っていることを示します。
- ccsid
- XML をエンコードする場合に使用するコード化文字セット ID を指定します。
Debug Tool は z/OS Unicode Services を使用して、
文字が 3270 端末で表示される前に、XML にある文字をこのコード・ページから EQAOPTS に指定されているコード・ページに変換します。
ccsid には、1 から 65535 の範囲の 10 進数を使用できます。
使用上の注意
- C および C++ では、reference がポインターの場合、Debug Tool は、そのポインターが指定するアドレスにある内容を表示します。
- Debug Tool を使用する場合、コマンド行で LIST STORAGE コマンド
を入力し、ソース・ウィンドウの変数にカーソルを移動してから Enter キー
を押すか、または、カーソルを移動してから LIST STORAGE コマンド
に割り当ててある PF キーを押すかの方法でカーソル指示ができます。
- LIST STORAGE コマンドを、Debug Tool で、カーソル位置によって
位置指定された変数について使用する場合、その変数の名前は、ソース・リスト内で行をまたがって分かれていてはなりません。
- 参照された変数が %GPR1 などの汎用レジスター (GPR)
である場合、その結果は、有効になっているプログラム言語によって、以下のようになります。
- アセンブラーおよび逆アセンブリーを除くすべての言語の場合、Debug Tool
は、参照された GPR に入っているアドレスにあるストレージを表示します。
- アセンブラーおよび逆アセンブリーの場合、参照されたレジスターに入っているアドレス
にあるストレージを表示するよう Debug Tool に指示するには、間接表記
(%GPR1->) を使用する必要があります。
- LIST STORAGE にオペランドが指定されない場合、コマンドは、カーソル移動に影響されます。
- 記録されたステートメントを PLAYBACK コマンドを使用して再生している場合、LIST STORAGE コマンドは、PLAYBACK START コマンドを入力した時点でストレージの内容を表示します。
- 最適化 COBOL プログラムでは、LIST STORAGE は最適化プログラムによって廃棄された変数を表示できません。
- XML がサポートされるのは、z/OS バージョン 1.8 以降で稼働している場合のみです。
- XML を指定したが、EBCDIC、ASCII、あるいは CODEPAGE も指定しなかった場合、
Debug Tool は、XML 文書のエンコード方式が EBCDIC であるか ASCII であるかを検出しようとします。
- XML 文書内の一部の情報 (例えば、
ほとんどの DTD 指定と一部の空白) は、z/OS XML パーサーがそれを Debug Tool に戻さないため、リストされない場合があります。
- 有効数字 8 桁を超える address を指定したか reference が 64 ビット・アドレス可能ストレージを参照する場合、Debug Tool は、ストレージ・ロケーションは 64 ビット・アドレス可能ストレージであると想定します。それ以外の場合、Debug Tool は、ストレージ・ロケーションは 31 ビット・アドレス可能ストレージであると想定します。
例
- 変数 table のアドレスで開始するストレージの最初の 64 バイトを表示します。
LIST STORAGE (table, 64);
- ポインター table(1) によって指定されたアドレスのストレージの 16 バイトを表示します。
LIST STORAGE (table(1));
- 記憶位置 20CD0 ~ 20CDF に入っている 16 バイトを表示します。現行のプログラム言語の設定は COBOL です。
LIST STORAGE (H'20CD0');
- 記憶位置 20CD0 ~ 20CDF に入っている 16 バイトを表示します。現行のプログラム言語の設定は PL/I です。
LIST STORAGE ('20CD0'PX);
- 逆アセンブル表示で、レジスター R13 によって指定されたアドレスのストレージを表示します。
LIST STORAGE (R13->);
- 変数 MYVAR のオフセット 2 から始まる 10 文字を表示します。
MYVAR は CHAR (20) として宣言されます。
LIST STORAGE (MYVAR, 2, 10);
- アドレス '20ACD0'PX のオフセット 10 から始まる 20 バイトを表示します。
現行のプログラム言語の設定は PL/I です。
LIST STORAGE ('20ACD0'PX, 10, 20);
- アドレス '20ACD0'PX のオフセット -5 から始まる 10 バイトを表示します。
現行のプログラム言語の設定は PL/I です。
LIST STORAGE ('20ACD0'PX, -5, 10);
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LOAD コマンド
指定されたモジュールをデバッグのためにロードするように指定します。
LOAD コマンドでは、プリロード済みのロード・モジュールをデバッグできます。
言語環境プログラムで作業している場合は、ロード・モジュールのロードにエンクレーブ・レベルのロード・サービスが使用されます。
現在のエンクレーブが終了するか、またはこのロード・モジュールに対して CLEAR LOAD コマンドが
入力されるまで、ロード・モジュールは活動状態のままです。
言語環境プログラムで作業していない場合、デバッグ中のタスクが終了するか、
またはこのロード・モジュールに対して CLEAR LOAD コマンドが入力されるまで、
ロード・モジュールは活動状態のままです。
CICS プログラムをデバッグする場合、
ロードは EXEC CICS LOAD によって行われます。
他のすべてのプログラムでは、ロードは MVS LOAD サービスによって行われます。
- module_name
- Debug Tool によってロードされた 1 つ以上のロード・モジュールの名前。
- LE
- 言語環境プログラム・エンクレーブ・レベルのロード・サービスを使用して、ロード・モジュールをロードします。
現在のエンクレーブが終了するか、またはこのロード・モジュールに対して CLEAR LOAD コマンドが
入力されるまで、ロード・モジュールは活動状態のままです。
- NONLE
- 言語環境プログラム以外のサービスを使用して、ロード・モジュールをロードします。
デバッグ中のタスクが終了するか、またはこのロード・モジュールに対して CLEAR LOAD コマンドが
入力されるまで、ロード・モジュールは活動状態のままです。
CICS プログラムでは、ロード・モジュールは EXEC CICS LOAD を使用してロードされます。
他のすべてのプログラムでは、ロード・モジュールは MVS LOAD サービスを使用してロードされます。
使用上の注意
- このコマンドはリモート・デバッグ・モードで使用できます。
- プログラムが COBOL でない場合、ロードしたロード・モジュール内のプログラムまたは CSECT に対して QUALIFY CU コマンドを入力できます。
- モジュール内のプログラムまたは CSECTS にブレークポイントを設定し、同じロード・モジュールが再ロードされると、
ロード・モジュールの位置が変更されるため、ブレークポイントが機能しないことがあります。
- デバッグ対象のモジュールが RESIDENT であるか、または Debug Tool の始動前にロードされた場合、LOAD コマンドを使用して
モジュールを言語環境プログラムに認識させることができます。
- このコマンドは、DLL のロードには使用できません。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
LOADDEBUGDATA コマンド
コンパイル単位 (CU) がアセンブラー CU または非言語環境プログラム COBOL
CU であることを指定し、デフォルトのデータ・セット名 userid.EQALANGX(cu_name) からデバッグ・データをロードします。
デバッグ・データが異なるデータ・セットに保存されている場合、SET SOURCE または SET DEFAULT LISTINGS コマンド、あるいは EQADEBUG DD ステートメントを使用してそのデータ・セット名を指定できます。リモート・デバッグ・モードでは、EQADEBUG DD ステートメントを使用してデータ・セット名
を指定するか、またはリモート・デバッガーにデータ・セット名を要求するプロンプトを出させるようにすることができます。
EQALANGX プログラムを使用するか、またはアセンブラー・プログラムをデバッグ
している場合にはプログラムを Debug Tool Utilities でアセンブルすることにより、
必要なデバッグ・データを生成できます。
これらの 2 つの方法については、「Debug Tool ユーザーズ・ガイド」で説明されています。
- load_module_name
- 指定したコンパイル単位が入っているロード・モジュールの名前 (cu_name)。
対応するロード・モジュールが Debug Tool に認識されている場合、指定したコンパイル単位は、
指定したロード・モジュール内の逆アセンブリー・コンパイル単位でなければなりません。
ロード・モジュールが Debug Tool に認識されていない場合、Debug Tool は、
指定したコンパイル単位が入っている、指定した名前のロード・モジュールがロードされるまで LOADDEBUGDATA コマンドを据え置きます。
load_module_name を指定しない場合、Debug Tool は、LOADDEBUGDATA コマンドを、
すべてのロード・モジュールにある指定した名前を持つすべてのコンパイル単位に適用します。
- cu_name
- アセンブラーまたは非言語環境プログラム COBOL コンパイル単位の名前。 このコンパイル単位が現在 Debug Tool に既知である場合には、
この名前は逆アセンブリー・コンパイル単位でなければなりません。
現在 Debug Tool に既知でない場合、指定された名前による逆アセンブリー・コンパイル単位が
Debug Tool に既知になるまで、LOADDEBUGDATA コマンドは据え置かれます。
使用上の注意
- SET SAVE コマンドを使用してブレークポイントまたはモニター指定を
保存する場合、または RESTORE コマンドを使用してブレークポイントまたはモニター指定を
復元する場合、デバッグ・データのロード元であるデータ・セットのデータ・セット名を含むすべての LDD 設定が保存および復元されます。
- CICS の場合のみ: フルスクリーン・モードの
デバッグ・セッションについて DTCN プロファイルが活動状態にある場合、DTCN プロファイルが削除されるか端末セッションが終了するまで、Debug Tool は、
デバッグ・データのロード元であるデータ・セットのデータ・セット名など、すべての LDD 設定を保持します。
- リモート・デバッグ・モードでアセンブラー CU (非言語環境プログラム COBOL CU を除く) に対してこのコマンドを使用できます。
- Debug Tool が CU に対して正常に LOADDEBUGDATA コマンド
を処理した後、その CU がいったん削除されて、後で現れた場合、最初に使用されたのと同じ
EQALANGX データ・セットを使用して、暗黙の LDD コマンドがその CU に対して実行されます。
- 同じコンパイル単位に対して LDD コマンドを複数回入力することはできません。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
MEMORY コマンド
メモリー・ウィンドウに表示されるメモリーの開始アドレスとして使用するアドレスを指定します。
指定したアドレスが無効な場合、Debug Tool はエラー・メッセージを表示します。
MEMORY コマンドは保存および復元できません。
- address
- メモリー・ウィンドウに表示されるメモリーの開始アドレスとして使用するアドレス。
- reference
- メモリー・ウィンドウに表示されるメモリーの開始アドレスとして使用する、メモリー内の場所を示す変数。
- 'reference'
- メモリー内の場所がメモリー・ウィンドウに表示されるメモリーの開始アドレスとして使用される非言語環境プログラム COBOL 変数。
- simple_expression
- 正または負の 16 進数あるいは整数変位を持つアドレス。
結果となる値は、メモリー・ウィンドウに表示されるメモリーの開始アドレスです。
使用上の注意
- COBOL では、参照変更を使用して変数を指定した場合、指定した参照の場所ではなく、該当の変数の保管場所が基底アドレスとして使用されます。
- 有効数字 8 桁を超える address を指定したか reference が 64 ビット・アドレス可能ストレージを参照する場合、Debug Tool は、ストレージ・ロケーションは 64 ビット・アドレス可能ストレージであると想定します。それ以外の場合、Debug Tool は、ストレージ・ロケーションは 31 ビット・アドレス可能ストレージであると想定します。
- C および C++ では、reference がポインターの場合、Debug Tool は、そのポインターが指定するアドレスにある内容を表示します。
例
この節で説明している内容に関して詳しくは、以降の節を参照してください。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- 「Debug Tool ユーザーズ・ガイド」の『Debug Tool セッション・パネル』
- 「Debug Tool ユーザーズ・ガイド」の『メモリー・ウィンドウとログ・ウィンドウの切り替え』
- 「Debug Tool ユーザーズ・ガイド」の『メモリー・ウィンドウの表示』
- 「Debug Tool ユーザーズ・ガイド」の『メモリー・ウィンドウでのメモリーの表示』
- 関連
資料
- address
MONITOR コマンド
MONITOR コマンドを使用すると、コマンドを定義または再定義して、その出力をモニター・ウィンドウ (フルスクリーン・モード) またはログ・ファイル (バッチ・モード) に表示します。MONITOR コマンドと共に使用できるのは、次のコマンドのみです。
Debug Tool は、入力された最新の MONITOR コマンドのリストを維持します。入力された各コマンドに 1 から 99 までの番号が割り当てられます。またユーザーが番号を割り当てることもできます。この番号を使用して、再定義する MONITOR を Debug Tool に指示します。
- GLOBAL
- モニター定義がグローバルであることを指定します。すなわち、特定のコンパイル単位には関連付けられません。
- LOCAL
- モニター定義が特定のコンパイル単位に対してローカルであることを指定します。Debug Tool を使用する場合、指定の出力を表示するのは、現行の修飾が関連付けられた
コンパイル単位の中にある場合のみです。
- cu_spec
- 有効なコンパイル単位の指定。これは、モニター定義に関連付けられたコンパイル単位を指定します。
- integer
- 1 から 99 の範囲の整数。指定されたコマンドによって置き換えられるリスト内の
コマンド、およびモニターされたコマンドが評価される順序を示します。省略した場合、次のモニター整数が割り当てられます。エラー・メッセージは、最大数のモニター・コマンドがすでに存在している場合に出されます。
- command
- 出力がモニター・ウィンドウまたはログ・ファイルに
表示される、DESCRIBE、LIST、Null、または QUERY コマンド。
- HEX
- 16 進形式で表示される変数の値を指定します。HEX
パラメーターには、MONITOR LIST expression コマンドまたは MONITOR n コマンドのみを指定できます。ここで、n は MONITOR リスト内の n 番目のコマンドで、LIST expressionコマンドでなければなりません。
- DEFAULT
- 変数値を宣言されたデータ型で表示することを指定します。DEF
パラメーターには、MONITOR LIST expression コマンドまたは MONITOR n コマンドのみを指定できます。ここで、n は MONITOR リスト内の n 番目のコマンドで、LIST expression コマンドでなければなりません。
使用上の注意
- モニター・ウィンドウの接頭部域に HEX と入力すると 16 進数で、DEF と入力するとデフォルト表記で、
選択した行を表示できます。
- HEX および DEF 接頭部コマンドは、該当エレメントに関連する接頭部域に入力された場合に、個別の構造エレメントまたは配列エレメントでのみ動作します。
- モニター番号は、グローバル・モニター・コマンドまたはローカル・モニター・コマンドを識別します (また
はどちらも識別しません)。
- Debug Tool を使用する場合、モニター出力は、モニター番号順に表示されます。
- 番号が指定されてコマンドが省略された場合、モニター・ウィンドウ内のその番号に対応する
行に NULL コマンドが挿入されます。これによって、モニター番号を予約します。
- 指定できるモニター番号は、既存の最大モニター番号よりも大きいモニター番号です。
- モニターからコマンドを消去するには、CLEAR MONITOR コマンドを使用します。
- 置き換えは、モニター番号によって識別されたコマンドがすでに存在している場合にのみ行われます。
- SET AUTOMONITOR ON が有効の場合、Debug Tool は、表示されない項目をモニター・リストの最後のアクティブ項目の後に追加します。
number を指定して、これが最後のアクティブ項目と等しいかこれより 1 つ大きい場合、Debug Tool は、最後のアクティブ項目に新規 MONITOR コマンドを挿入し、SET AUTOMONITOR
ON には次に高位の項目を使用します。
- MONITOR LIST コマンドでは、TITLED WSS を除き、
POPUP、TITLED、および UNTITLED オプションを指定できません。
TITLED WSS オプションについて詳しくは、LIST 式コマンドを参照してください。
working-storage section に大量のデータがある場合、これをモニターすることは、
かなりのオーバーヘッドを生じ、予測不能な結果をもたらす可能性があります。
- MONITOR LIST コマンドを使用すると、単一参照 (また
は C lvalues) は、その値をもつ識別情報を表示します。これに対して、式およびリテラルはこれを行いません。
- GLOBAL および LOCAL キーワードもまた、式の評価の
デフォルト修飾に影響を及ぼします。GLOBAL は、デフォルト修飾がプログラム内の現行の実行地点であることを示します。
LOCAL は、デフォルト修飾が指定されたコンパイル単位に対するものであることを示します。
- LOCAL モニターは、コンパイル単位を含むエンクレーブが終了したとき、またはコンパイル単位を含むロード・モジュールが削除されたときに中断します。
関連するコンパイル単位が、後で同じデバッグ・セッションで再表示されると、LOCAL モニターは復元されます。しかし、元のモニター番号がその時点で使用中である場合があるので、常に同じモニター番号で復元されるとは限りません。
- PLAYBACK ENABLE コマンドの DATA オプションが現行のコンパイル単位に対して有効な場合、記録されたステートメントを PLAYBACK コマンドを使用して再生する間に MONITOR コマンドを使用することができます。
- MONITOR LIST コマンドを評価できるのは、現在有効であるプログラム言語が、その MONITOR LIST コマンドが実行されたときのものと同じである場合に限られます。
そのため、次の操作のいずれかによってプログラム言語が変更された場合、MONITOR LIST コマンドの評価は失敗し、メッセージが表示されます。
- 元の MONITOR コマンドが入力されたときに有効であったプログラミング言語とは異なる言語で記述された、コンパイル単位内の実行の中断。
- SET PROGRAMMING LANGUAGE コマンドの入力。
- SET QUALIFY コマンドの入力。
- LOADDEBUGDATA コマンドの入力。
- プログラムが Enterprise PL/I または Enterprise COBOL でコンパイルされている場合は、ソース・ウィンドウの接頭部域に M 接頭部コマンドを入力して、その行の変数をモニター・ウィンドウに追加できます。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
M 接頭部 (フルスクリーン・モード)
M 接頭部コマンド (ソース・ウィンドウの接頭部域に入力される) によって、
モニター・ウィンドウにその行のオペランドが追加されます。
- integer
- モニターする特定のオペランドを指定します。
integer を指定しない場合、Debug Tool はすべてのオペランドをモニターします。
単一番号または形式 1,2,3 を入力する場合、Debug Tool は指定したオペランドをモニターします。
1-4 という形式を使用する場合、Debug Tool はオペランドの 1 から 4 をモニターします。
アセンブラーおよび逆アセンブリー以外のプログラムの場合、integer は、行上の変数の位置を指定します (左方から始める)。
行の最初の変数が位置 1 で、行の 2 番目の変数が位置 2 です。このパターンを、変数がなくなるまで繰り返します。
行に 1 つの変数が複数回使用されている場合、その変数の最初のインスタンスに位置番号が割り当てられます。
integer が指定されない場合、その行のすべての変数がモニター・ウィンドウに追加されます。
アセンブラーおよび逆アセンブリー・プログラムの場合、integer はマシン・インストラクションのオペランドを指定します。
Debug Tool は左から右に向かって、最初のオペランドをオペランド 1、2 番目のオペランドをオペランド 2 というように番号を付けていき、このパターンをオペランドがなくなるまで繰り返します。
integer を指定しない場合、Debug Tool は、命令で明示的にまたは暗黙に参照されているすべてのオペランドをモニター・ウィンドウに追加します。
integer の形式を指定した場合、Debug Tool は、指定したオペランドで明示的に参照されたオペランドだけをモニター・ウィンドウに追加します。
使用上の注意
- M 接頭部コマンドを入力できるのは、有効なステートメントのある行のみです。
- M 接頭部コマンドは、複数の行に入力できます。
- M 接頭部コマンドは、以下のコンパイル単位でのみ作動します。
- アセンブラーまたは逆アセンブリー・コンパイル単位
- Enterprise COBOL コンパイル単位
- Enterprise PL/I for z/OS バージョン 3.6 または 3.7 (APAR PK70606 用 PTF 適用済み) 以降で
コンパイルされた Enterprise PL/I コンパイル単位
- M 接頭部コマンドは、現在アクティブでないブロック内の行には使用できません。
- 以下の注は、
アセンブラーまたは逆アセンブリー・プログラムで M 接頭部コマンドを使用する場合に適用されます。
例
次の例では、次のコード行を使用します。
...
293 move 0 to c; move 0 to b; move 0 to IND; move b to a;
...
319 if a + b < b + c
320 then move ind to c;
321 end-if;
...
行 293 の変数 c をモニター・ウィンドウに追加するには、行 293 の接頭部域に M1 コマンドを入力します。
次の例のセットでは、次のアセンブラー・ソース・コード行を使用します。
...
200 L R6,=X’31BA4038’
201 STM R1,R4,0(R6)
202 TM X’01’,FLAGS
203
...
- 行 201 に M を入力します。Debug Tool は、次のレジスターおよびメモリー位置、
すなわち、R1、R2、R3、R4、R6、および、位置 X'31BA4038' における 16 バイトのストレージをモニター・ウィンドウに追加します。
- 行 201 に M1-2 を入力します。Debug Tool は、R1 および R4 をモニター・ウィンドウに追加します。
- 行 202 に M1 を入力します。M 接頭部コマンドがマスク・フィールドおよび即値フィールドにアクセスできないために、Debug Tool は
エラー・メッセージを表示します。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
MOVE コマンド (COBOL)
MOVE コマンドは、ストレージのある 1 つの領域から別の領域にデータを転送します。キーワードを省略することはできません。
- reference
- 有効な Debug Tool COBOL 参照。
- literal
- 有効な COBOL リテラル。
使用上の注意
- 計算条件またはアテンション割り込みによって Debug Tool を呼び出した場合、変数の
値の設定に代入ステートメントを使用しても、期待した結果は得られない
可能性があります。これは、ステートメント境界での変数値とは反対に、ステートメント内の変数値のあいまいさによるものです。
- MOVE は、値を単一の受信先にのみ代入します。COBOL の場合とは
異なり、複数の受信先変数はサポートされません。
- COBOL の CORRESPONDING 句はサポートされません。
- MOVE では、日付ウィンドウ操作をサポートしていません。したがって、MOVE コマンドを使用してウィンドウ方式の日付フィールドの値を
拡張日付フィールドまたは非日付フィールドに代入することはできません。
- MOVE コマンドを使用して、ある拡張日付フィールドの値を異なる DATE
FORMAT 文節を持つ別の拡張日付フィールドに代入したり、あるいは、あるウィンドウ方式の日付フィールドの値を異なる DATE FORMAT 文節を持つ別の
ウィンドウ方式の日付フィールドに代入したりすることはできません。
- PLAYBACK ENABLE コマンドの DATA パラメーターが現行のコンパイル単位に対して有効な場合、記録されたステートメントを PLAYBACK コマンドを使用して再生する間に MOVE コマンドを使用することができます。MOVE コマンドの宛先は、プログラム変数ではなく、セッション変数でなければなりません。
- 最適化 COBOL プログラムのデバッグをする場合、MOVE コマンドを使用して値をプログラム変数に代入できるのは、最初に SET WARNING OFF コマンドを入力するときのみです。
- OPTIMIZE コンパイラー・オプションを使用してコンパイルされた COBOL プログラムをデバッグしている場合、最適化プログラムによって廃棄された変数を MOVE コマンドのどちらのオペランドにも使用できません。
- 各国語として定義された COBOL 変数が英字または英数字オペランドを指定した MOVE コマンドの受信フィールドとして使用される場合、各国語でないオペランドは、グループ項目を除き、移動が行われる前に Unicode に変換されます。MOVE ステートメントでの COBOL 変数の使用の詳細については、「Enterprise COBOL for z/OS and OS/390 言語解説書」を参照してください。
- N または NX 接頭部でのリテラルは常に各国語データとして扱われ、他の各国語データ項目またはグループ項目にのみ移動できます。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
MOVE コマンドによって実行できる移動 (COBOL)
次の表に、Debug Tool MOVE コマンドで実行できる移動を
示します。
| ソース・フィールド |
受信フィールド |
| GR |
AL |
AN |
ED |
BI |
NE |
ANE |
NDI |
NNDI |
ID |
IF |
EF |
D1 |
| GROUP (GR) |
Y |
Y |
Y |
Y1 |
Y1 |
Y1 |
Y1 |
Y1 |
|
Y1 |
Y1 |
Y1 |
|
| ALPHABETIC (AL) |
Y |
Y |
|
|
|
|
|
Y |
|
|
|
|
|
| ALPHANUMERIC (AN)4、5 |
Y |
|
Y |
|
|
|
|
Y |
|
|
|
|
|
| EXTERNAL DECIMAL (ED)4、5 |
Y1 |
|
|
Y |
|
|
|
|
|
|
|
|
|
| BINARY (BI) |
Y1 |
|
|
|
Y |
|
|
|
|
|
|
|
|
| NUMERIC EDITED (NE) |
Y |
|
|
|
|
|
|
|
|
|
|
|
|
| ALPHANUMERIC EDITED (ANE) |
Y |
|
|
|
|
|
Y |
Y |
|
|
|
|
|
| FIGCON ZERO |
Y |
|
Y |
Y2 |
Y2 |
|
Y |
|
NU |
Y2 |
Y |
Y |
|
| FIGCON ZERO、 SPACE、または QUOTE |
|
|
|
|
|
|
|
Y |
|
|
|
|
|
| SPACES (AL) |
Y |
Y |
Y |
|
|
|
Y |
|
|
|
|
|
|
| HIGH-VALUE、 LOW-VALUE、 QUOTES |
Y |
|
Y |
|
|
|
Y |
|
|
|
|
|
|
| NATIONAL DATA ITEM (NDI) |
Y1 |
|
|
|
|
|
|
Y |
|
|
|
|
|
| NATIONAL NUMERIC DATA ITEM (NNDI) |
|
|
|
|
|
|
|
|
NN |
|
|
|
|
| NUMERIC LITERAL |
Y1 |
|
|
Y |
Y |
|
|
|
NN |
Y |
Y |
Y |
|
| ALPHANUMERIC LITERAL |
Y |
Y |
Y |
|
|
Y1 |
Y |
Y |
|
|
|
|
|
| ALPHANUMERIC HEX LITERAL6 |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|
|
Y |
Y |
Y |
|
| INTERNAL DECIMAL (ID)4、5 |
Y1 |
|
|
|
|
|
|
|
|
Y |
|
|
|
| FLOATING POINT LITERAL |
Y1 |
|
|
|
|
|
|
|
|
|
Y |
Y |
|
| INTERNAL FLOATING POINT (IF) |
Y1 |
|
|
|
|
|
|
|
|
|
Y |
Y |
|
| EXTERNAL FLOATING POINT (EF) |
Y1 |
|
|
|
|
|
|
|
|
|
Y |
Y3 |
|
| DBCS DATA ITEM (D1) |
|
|
|
|
|
|
|
|
|
|
|
|
Y |
| DBCS LITERAL |
|
|
|
|
|
|
|
|
|
|
|
|
Y |
| NATIONAL LITERAL (NL) |
Y |
|
|
|
|
|
|
Y |
|
|
|
|
|
| NATIONAL HEX LITERAL (NHL)7 |
Y1 |
|
|
|
|
|
|
Y |
|
|
|
|
|
注:
- 1
- 変換なしで移動 (AN から AN などのように)
- 2
- 数値移動
- 3
- 小数点に位置合わせして切り捨て (必要に応じて)
- 4
- MOVE では、日付ウィンドウ操作をサポートしていません。例えば、MOVE ステートメントを使用してウィンドウ方式の日付フィールドを拡張日付フィールド、または、非日付フィールドに移動することはできません。
- 5
- MOVE コマンドを使用してあるウィンドウ方式の日付フィールドを
異なる DATE FORMAT 文節を持つ別のウィンドウ方式の日付フィールドに
移動したり、またはある拡張日付フィールドを異なる DATE FORMAT 文節を持つ
別の拡張日付フィールドに移動することはできません。
- 6
- 16 進文字のみでなければなりません。引用符 (") またはアポストロフィ (') で区切られ、その前に X が付きます。
- 7
- 16 進文字のみでなければなりません。引用符 (") またはアポストロフィ (') で区切られ、その前に NX が付きます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
NAMES コマンド
NAMES コマンドを使用する場合は、
必ず「Debug Tool ユーザーズ・ガイド」の『システム接頭部が付いた名前のユーザー・プログラムのデバッグ』の説明に従ってください。
NAMES DISPLAY コマンド
NAMES DISPLAY コマンドは、現在除外または包含されているすべてのロード・モジュールまたはコンパイル単位のリストが必要なことを指定する場合に使用します。
ALL パラメーターを指定しないと、表示されるリストにはユーザーのコマンドで除外される名前のみが表示されます。
Debug Tool がデフォルトで除外する名前は、表示されるリストには含まれていません。
- USER
- ユーザーの要求 (NAMES EXCLUDE コマンドを使用) によって現在除外されているロード・モジュールまたはコンパイル単位のリストが必要なことを示します。
- ALL
- 現在除外されているすべてのロード・モジュールまたはコンパイル単位のリスト (Debug Tool がデフォルトで除外するものを含む) が必要なことを示します。
- LOADMODS
- ロード・モジュール名のリストが必要なことを示します。
- CUS
- コンパイル単位名のリストが必要なことを示します。
- pattern
- ロード・モジュールまたはコンパイル単位の名前を指定します。あるいは、ロード・モジュールまたはコンパイル単位の名前の一部の後にアスタリスクを付けたストリング (引用符 (") またはアポストロフィ (') で囲まれたもの) を指定して、指定されたストリングで始まるすべてのロード・モジュールまたはコンパイル単位のリストを出力することを示します。
使用上の注意
このコマンドはリモート・デバッグ・モードで使用できます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
NAMES EXCLUDE コマンド
NAMES EXCLUDE コマンドを使用すると、デバッグする必要のないロード・モジュールまたはコンパイル単位の名前を Debug Tool に指示することができます。データのみのモジュールの場合、Debug Tool はそれらを処理しません。実行可能コードが含まれている場合、Debug Tool は場合によっては処理することがあります。
これらの状態の詳細については、「Debug Tool ユーザーズ・ガイド」の『大きなアプリケーションのデバッグの最適化』を参照してください。
- LOADMOD
- 指定されたロード・モジュールをデバッグしないことを示します。
- CU
- 指定されたコンパイル単位をデバッグしないことを示します。
- NOTEST
- デバッグ・データを使用してコンパイルされていないコンパイル単位はデバッグしないことを示します。
- pattern
- ロード・モジュールまたはコンパイル単位の名前を指定します。あるいは、ロード・モジュールまたはコンパイル単位の名前の一部の後にアスタリスクを付けたストリング (引用符 (") またはアポストロフィ (') で囲まれたもの) を指定して、指定されたストリングで始まるすべてのロード・モジュールまたはコンパイル単位をデバッグしないことを示します。
使用上の注意
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
NAMES INCLUDE コマンド
NAMES INCLUDE コマンドは、使用するプログラムはユーザーのロード・モジュールまたはコンパイル単位であり、システム・プログラムでないことを Debug Tool に指示する場合に使用します。
詳細については「Debug Tool ユーザーズ・ガイド」
の『システム接頭部が付いた名前のユーザー・プログラムのデバッグ』 を参照してください。
- LOADMOD
- 指定されたロード・モジュールをデバッグすることを示します。
- CU
- 指定されたコンパイル単位をデバッグすることを示します。
- name
- ロード・モジュールまたはコンパイル単位の名前を指定します。
使用上の注意
- このコマンドはリモート・デバッグ・モードで使用できます。
- すでに Debug Tool が認識しているロード・モジュールまたはコンパイル単位に対して NAMES INCLUDE コマンドを使用することはできません。
- NAMES INCLUDE コマンドを使用して、Debug Tool が初期ロード・モジュール、または初期ロード・モジュールに含まれているコンパイル単位をデバッグするように指示することはできません。これを行う場合は、同等の NAMES INCLUDE コマンドを使用して、制御ステートメントを EQAOPTS Debug Tool カスタマイズ・モジュールにコーディングする必要があります。
詳細については、「Debug Tool ユーザーズ・ガイド」の『NAMES コマンドをインプリメントするための EQAOPTS の使用方法』を参照してください。
- システム・コンポーネント (例えば、Debug Tool、言語環境プログラム、CICS、IMS、またはコンパイラー・ランタイム・モジュール) のデバッグに、NAMES INCLUDE コマンドを使用しないでください。これらのシステム・コンポーネントをデバッグしようとすると、予測不能の障害が発生することがあります。 このコマンドは、Debug Tool がシステム・コンポーネントとして認識する接頭部が名前に付けられたユーザー・プログラムのデバッグにのみ使用してください。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
Null コマンド
Null コマンドは、コマンドを指定する場所に書き込まれる
セミコロンです。Null コマンドは、THEN 文節内で処置が行われない IF コマンド
などに使用されます。
例
array[x] > 0 の場合は何もせず、それ以外の場合は a に 1 を設定します。現行のプログラム言語の設定は C です。
if (array[x] > 0); else a = 1;
ON コマンド (PL/I)
ON コマンドによって、指定の PL/I 条件が発生したときに実行する
処置を設定します。このコマンドは AT OCCURRENCE と同等です。
- condition_name
- 有効な PL/I の CONDITION 条件名。
- file_reference
- 有効な PL/I ファイル定数またはファイル変数 (修飾可能)。
- command
- 有効な Debug Tool コマンド。
使用上の注意
- 特定の条件に関する PL/I の制約事項に従ってください。
- 指定の PL/I 条件に対する ON 処置は、次の状況になるまで有効です。
- 別の ON コマンドで、同じ条件に対する新規の処置が定義されるまで。すなわち、ブレークポイントが置換されるまで。
- CLEAR コマンドが ON 定義を除去するまで。
- ON コマンドは、アプリケーション・プログラム内で既存
の ON ユニットより先に出されます。ON ユニットは、Debug Tool が制御をその言語に戻してから処理されます。
- PL/I 条件定数の PL/I 省略語として認められるのは、次の場合です。
- ATTENTION または ATTN
- FIXEDOVERFLOW または FOFL
- OVERFLOW または OFL
- STRINGRANGE または STRG
- STRINGSIZE または STRZ
- SUBSCRIPTRANGE または SUBRG
- UNDEFINEDFILE([file_reference]) または UNDF([file_reference])
- UNDERFLOW または UFL
- ZERODIVIDE または ZDIV
- ON コマンドの推奨形が AT OCCURRENCE です。しかし、PLITEST および INSPECT の互換性を保つため、ON コマンドも認識され、処理されます。ON は、AT OCCURRENCE の同義語と見なしてください。ON コマンドが使用されたときは、AT OCCURRENCE コマンド
としてログに記録されます。
- ON コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
- ゼロによる除算が検出された場合、メッセージを表示します。
ON ZERODIVIDE BEGIN;
LIST 'A zero divide has been detected';
END;
- 文字データを数値に変換する場合に誤りの文字を表示し、パッチします。
次のステートメントを含む PL/I プログラムを仮定します。
DECLARE i FIXED BINARY(31,0);
.
..
..
i = '1s3';
次の Debug Tool コマンドは、文字データを数値に変換するときに、エラーの文字を
表示し、それをパッチします。
ON CONVERSION
BEGIN;
LIST (%STATEMENT, ONCHAR);
ONCHAR = '0';
GO;
END;
'1s3' を 2 進数に変換することはできない
ので、CONVERSION が発生します。ON CONVERSION コマンドは、
問題のあるステートメント番号と、問題のある文字 's' をリストします。データは、's' を文字ゼロ 0 に置き換えてパッチされ、処理は継続します。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連
資料
- AT OCCURRENCE コマンド
- Enterprise PL/I for z/OS PL/I for AIX WSED PL/I for Windows 言語解説書
PANEL コマンド (フルスクリーン・モード)
PANEL コマンドは、特別のパネルを表示します。PANEL キーワードはオプションです。
PANEL コマンドは、コマンド・リスト内で使用できず、また、どの条件コマンドあるいはどのマルチウェイ・コマンドでも使用することができません。

- COLORS
- Debug Tool セッション・パネルの各フィールドの、カラー、強調表示、輝度を選択できるカラー選択パネルを表示します。
- LAYOUT
- Debug Tool セッション・パネルのウィンドウの構成を制御する
ウィンドウ・レイアウト選択パネルを表示します。
- RESET
- ウィンドウ・レイアウト・パネルを表示せずに、現行の構成のウィンドウの
相対サイズを復元します。構成 1 および 4 については、ウィンドウが 3 つに等分割されています。他の構成については、3 つのウィンドウが集まる点は、およそ画面の中央です。
- LISTINGS
- ソース識別パネルを表示します。これを使用して、
コンパイル単位を、対応するリスト、ソース、または分離デバッグ・ファイルの名前に関連付けます。 LISTINGS は SOURCES と同等です。
Debug Tool には、プログラムに関連しているコンパイル単位、
および関連のソース、リスト、および分離デバッグ・ファイルの記録を維持するための、ソース識別パネルが用意されています。
ソース識別パネルにソースまたはリストの名前を入力することにより、それらのソースまたはリストを Debug Tool で使用可能にすることもできます。
ソース識別パネルは、
コンパイル単位と、対応するリスト、ソース、分離デバッグ・ファイルの名前とを関連付け、
ソース・ウィンドウの表示内容を制御します。 ソース・ウィンドウに表示されているコンパイル単位を明示的に
指定するには、PANEL LISTINGS また
は PANEL SOURCES コマンドを入力することによって
ソース識別パネルにアクセスします。
Source Identification Panel
Command ===>
Compile Unit Listings/Source File Display
---------------------- --------------------------------- -------
DBKP515 TS64081.TEST.LISTING(IBME73) Y
___________ ____________________________ _
Enter QUIT to return with current settings saved.
CANCEL to return without current settings saved.
UP/DOWN to scroll up and down.
- コンパイル単位
- 現在 Debug Tool が認識している有効なコンパイル単位の名前です。新規のコンパイル単位は、認識されるたびにリストに追加されます。
- リスト/ソース・ファイル
- ソース・ウィンドウに表示されるコンパイル単位が入っているリスト、ソース、
または分離デバッグ・ファイルの名前です。 ファイルがリストの場合、ソース・プログラム・ステートメントのみが
表示されます。少なくともコンパイル単位名は指定しなければなりません。デフォルトのファイル指定は、pgmname LISTING * (COBOL および
PL/I) で、pgmname が
ユーザー・プログラムの名前です。TSO の場合、デフォルトのファイル指定は、順次データ・セットでは userid.pgmname.C (C および C++)、
userid.pgmname.list (COBOL)、または userid.pgmname.list (PL/I)、また、区分データ・セットで
は、userid.dsname.C(membername) (C および C++)、 userid.dsname.Listing(membername) (COBOL)、または userid.dsname.List(membername) (PL/I) です。
- 表示
- ソース・ウィンドウに、リストまたはソース・ウィンドウを表示する
かどうかを指定するフラグです。
リスト視点を表示するには、以下のステップを実行してください。
- 適切なオプションを指定してプログラムをコンパイルし、ソース・ファイルまたはソース・リスト・ファイルを生成させます。
- そのファイルがホストのオペレーティング・システムで使用可能であり、またアクセス可能である
ことを確認してください。
- ソース識別パネルの Display フィールドをコンパイル単位の場合には Y に設定してください。時間の節約のために、リストあるいはソースの表示を避ける場合は、N を指定
してください。
これらの条件のいずれかが満たされない場合、条件が満たされるコンパイル単位に制御が
渡されるまで、ソース・ウィンドウは空のままになります。
LISTING/SOURCE FILE フィールドに表示されたリスト、ソース、
または分離デバッグ・ファイルの上に新しい名前を重ねて入力することにより、コンパイル単位に関連付けられたリスト、
ソース、または分離デバッグ・ファイルを変更することができます。
注:
新しい名前のうしろには、最低 1 個のブランクが必要です。
このパネルを変更した後は、QUIT コマンドを
出すか、QUIT PF キーを押して、Debug Tool セッション・パネルに戻ります。
- PROFILE
- フルスクリーン Debug Tool セッションのパラメーターを設定できる
プロファイル設定パネルを表示します。
- SOURCES
- LISTINGS と同等です。
使用上の注意
- PANEL コマンドで表示されたパネルについての情報はすべて、
これらのパネルを終了するために QUIT が使用されると保存されます。この方法で、指定したパネルの変更を保存すると、有効な現行設定値をもつ
Debug Tool セッションに戻ることができます。さらに、CANCEL を使用すると、変更を保存せずに、パネルを終了することができます。
- PANEL コマンドはログに記録されません。
例
- カラーと属性パネルを表示します。
PANEL COLORS;
- 現行のレイアウト構成のウィンドウの相対サイズをリセットします。
PANEL LAYOUT RESET;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- Debug Tool ユーザーズ・ガイド
PERFORM コマンド (COBOL)
PERFORM コマンドは、1 つ以上のステートメントに、制御を明示的に
渡して、指定したステートメントによる実行が完了した後で、制御を次の実行可能
ステートメントに暗黙的に渡します。キーワードを省略することはできません。
単純型
- command
- 有効な Debug Tool コマンド。
反復型
- reference
- 有効な Debug Tool COBOL 参照。
- condition
- 単一比較条件。
- command
- 有効な Debug Tool コマンド。
使用上の注意
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連
資料
- Enterprise COBOL for z/OS and OS/390 言語解説書
PLAYBACK コマンド
PLAYBACK コマンドによって、記録および再生ができます。
- 実行したステートメント。
- ユーザーのプログラムに関する情報。例えば、変数およびレジスターの値およびファイルのステータス。
次の表は、PLAYBACK コマンドの形式を要約しています。
使用上の注意
PLAYBACK コマンドは、逆アセンブルされたプログラムのデバッグ中は使用できません。
PLAYBACK ENABLE コマンド
PLAYBACK ENABLE コマンドは、実行されるステートメントおよびプログラムに関する情報の記録を開始するよう、Debug Tool に指示します。Debug Tool が実行されるステートメントを既に記録している場合、PLAYBACK ENABLE コマンドを使用して、他のコンパイル単位で実行されるステートメントを記録するか、または DATA オプションの影響を変更するよう Debug Tool に指示することができます。

- cuname
- Debug Tool が実行されるステートメントを記録するコンパイル単位 (単一または複数) の名前。現在認識されているコンパイル単位の名前のみ指定できます。
- *
- Debug Tool がすべてのコンパイル単位で実行されるステートメントを記録するように指定します。これはデフォルトです。
- integer
- 収集されるデータを保管するために使用するメモリーの最大量を指定します。整数値は、K (1024) バイト単位で指定します。例えば、整数値 2000 は、2,048,000 バイトを表します。デフォルト値は 8000 です。
- DATA
- Debug Tool が、変数およびレジスターの値など、ユーザーのプログラムに関する情報を保存するよう指定します。Debug Tool はこの情報を cuname パラメーターで指定したコンパイル単位のため、または * パラメーターを指定した場合、すべてのコンパイル単位のために保存します。DATA パラメーターは、以下のコンパイラーによってコンパイルされたコンパイル単位に対してのみ有効です。
- Enterprise COBOL for z/OS バージョン 4.1
- 次のコンパイラーには、TEST コンパイラー・オプションの SYM サブオプションも指定する必要があります。
- Enterprise COBOL for z/OS バージョン 3.3 およびバージョン 3.4
- Enterprise COBOL for z/OS and OS/390 バージョン 3 リリース 2
- Enterprise COBOL for z/OS and OS/390 バージョン 3 リリース 1、APAR PQ63235 適用
- COBOL for OS/390 & VM バージョン 2、APAR PQ63234 適用
DATA がデフォルトです。
- NODATA
- Debug Tool がユーザーのプログラムに関する情報を保存しないことを指定します。
使用上の注意
- COBOL の場合のみ: PLAYBACK ENABLE DATA コマンドを入力し、コンパイル単位が DATA パラメーターをサポートする場合、以下の情報が記録されます。
- FILE SECTION
- WORKING-STORAGE SECTION
- LOCAL-STORAGE SECTION
- LINKAGE SECTION
- ADDRESS OF、LENGTH OF、および WHEN-COMPILED を除くすべての特殊レジスター
PLAYBACK START コマンド
PLAYBACK START コマンドは通常のデバッグを中断し、Debug Tool に指示して、記録されたステートメントを再生する準備をします。通常のデバッグが中断されると、すべてのブレークポイントが使用不可になり、多くのコマンドが使用できなくなります。STEP コマンドおよび RUNTO コマンドを使用して、記録されたステートメントを順方向または逆方向にナビゲートします。逆方向が、ナビゲーションの初期方向です。
使用上の注意
以下のコマンドが、記録されたステートメントの再生中に使用可能です。
1 制約事項に関しては、PERFORM コマンド (COBOL) を参照してください。
DATA オプションが有効であり、コンパイル単位が DATA オプションをサポートする場合、以下のコマンドが使用できます。
2 宛先は、セッション変数でなければなりません。
記録されたステートメントを再生中は、以下のコマンドは使用できません。
PLAYBACK FORWARD コマンド
PLAYBACK FORWARD コマンドは、STEP コマンドおよび RUNTO コマンドを現在のステートメントから順方向に実行し、次のステートメントに行くよう、Debug Tool に指示します。
PLAYBACK BACKWARD コマンド
PLAYBACK BACKWARD コマンドは、STEP コマンドおよび RUNTO コマンドを現在のステートメントから逆方向に実行し、前のステートメントに行くよう、Debug Tool に指示します。PLAYBACK START コマンドを入力した場合、逆方向が初期方向です。
PLAYBACK STOP コマンド
PLAYBACK STOP コマンドは、PLAYBACK START コマンドを入力したステートメントにおいて通常のデバッグを再開します。すべての中断されたブレークポイントが使用可能になり、すべてのコマンドが使用可能になります。Debug Tool は、実行されるステートメントの記録を続け、DATA オプションを指定した場合、ユーザーのプログラムに関する情報の記録を続けます。
PLAYBACK DISABLE コマンド
PLAYBACK DISABLE コマンドは、Debug Tool に指示して、実行されるステートメントの記録を停止し、DATA オプションを指定した場合、ユーザーのプログラムに関する情報の記録を停止します。記録が廃棄されている間に Debug Tool が収集したプログラムに関する情報。1 つ以上のコンパイル単位の記録を停止する指示を Debug Tool に出すことができます。1 つのコンパイル単位の記録を停止し、他のコンパイル単位の記録を続行する場合、記録を停止したコンパイル単位に対して収集された情報は廃棄されます。
- cuname
- Debug Tool に指定されたコンパイル単位 (単一または複数) の記録を停止する指示を出します。現在認識されているコンパイル単位の名前のみ指定できます。
- *
- Debug Tool にすべてのコンパイル単位の記録を停止する指示を出します。これはデフォルトです。
POPUP コマンド
複数行コマンドを入力することができるコマンド・ポップアップ・ウィンドウを表示します。
- integer
- ウィンドウの行数。
integer を指定しない場合、Debug Tool は、SET POPUP コマンドで指定された行数でウィンドウを開きます。
関連
資料
POSITION コマンド
指定したウィンドウの特定の行にカーソルを置きます。
このコマンドは、逆アセンブリー表示では作動しません。
- integer
- 指定したウィンドウを、Debug Tool が、行番号 integer までスクロールすることを指定します。
Debug Tool は、integer と、指定したウィンドウの接頭部域の行番号と突き合わせます。
Debug Tool は、上または下のどちらかにスクロールできます。指定できる最大値は 999999 です。
接頭部コマンド (フルスクリーン・モード)
接頭部コマンドは、ソース・リスト行およびモニター行に適用されます。
接頭部コマンドとは、自動モニター・セクションを含む、ソース・ウィンドウまたはモニター・ウィンドウの接頭部域に入力されるコマンドです。
コマンドについて詳しくは、コマンド名に対応するセクションを参照してください。
次の表に、接頭部コマンドの形式を要約します。
表 7. モニター・ウィンドウの接頭部コマンド
| HEX (MONITOR n HEX)MONITOR コマンド |
現行の MONITOR コマンド・セットの選択されたメンバーを 16 進表記で表示します。 |
| DEF (MONITOR n DEFAULT)MONITOR コマンド |
現行の MONITOR コマンド・セットの選択されたメンバーをデフォルト表記で表示します。 |
| CL (CLEAR MONITOR n)CLEAR コマンド |
現行の MONITOR コマンド・セットの選択されたメンバーを消去します。 |
| LIST (LIST MONITOR n) LIST MONITOR コマンド |
現行の MONITOR コマンド・セットの選択されたメンバーをリストします。 |
PROCEDURE コマンド
PROCEDURE コマンドによって、CALL プロシージャー・コマンド
を使用してアクセスできるコマンドのグループを定義することができます。PROCEDURE 内のコマンドを実行できるのは、CALL コマンドのみです。PROCEDURE の定義は、デバッグ・セッション全体にわたって有効です。
PROCEDURE キーワードは、PROC としてのみ省略が可能です。PROCEDURE 定義は、
他の PROCEDURE 定義のサブコマンドでも構いません。ネストされたプロシージャーの名前は、収容プロシージャーの有効範囲しかもちません。セッション変数は、PROCEDURE 定義内で宣言することはできません。
さらに、プロシージャーを CALL ステートメントで呼び出すには、その前にそのプロシージャーが
定義されていなければなりません。
- name
- 有効な Debug Tool プロシージャー名を指定します。これは、現行のプログラム言語で有効な ID でなければなりません。最大長は、31 文字です。
- command
- 宣言コマンドまたは PANEL コマンド以外の有効な Debug Tool コマンドを
指示します。
使用上の注意
- Debug Tool のプロシージャー名は常に大文字であるため、大/小文字混合の記号を使用できるプログラム言語での
プログラムであっても、プロシージャー名は大文字に変換します。
- GO または STEP コマンドが、プロシージャーまたは
ネストされたプロシージャー内で出された場合、そのプロシージャー、または
収容プロシージャーの中で GO または STEP の
後に続くコマンドはすべて無視されます。制御が Debug Tool に戻ると、収容 PROCEDURE の CALL に続く
ステートメントに戻ります。
- Debug Tool のデバッグ・セッション全体にわたって、プログラム言語設定値で
すべて有効であるように、プロシージャー名を選択することをお勧めします。
例
- プロシージャー proc1 が呼び出されるとき、変数 x、y、およ
び z の値が表示されます。
proc1: PROCEDURE; LIST (x, y, z); END;
- ステートメント 34 にブレークポイントを設定する、setat34 と命名されたプロシージャーを定義します。プロシージャー setat34 には、現在のステートメント・ブレークポイントをリストする、ネストされた
プロシージャー lister が含まれています。プロシージャー lister は、setat34 内でのみ呼び出すことができます。
setat34: PROCEDURE;
AT 34;
lister: PROCEDURE;
LIST AT STATEMENT;
END;
CALL lister;
END;
QUALIFY RESET コマンド
QUALIFY RESET コマンドは、SET QUALIFY RESET コマンドと同等です。
QUERY コマンド
QUERY コマンドは、指定した Debug Tool 設定の現行値、すべて
の Debug Tool 設定の現行設定値、または中断されているプログラム内の現行位置を表示します。
Debug Tool の設定については、SET コマンドを参照してください。
注:
- このコマンドはリモート・デバッグ・モードで使用できます。
- 動的デバッグ機能をインストールした場合に限り、使用可能です。
- PL/I の場合のみ。
- ASSEMBLER
- 現行の ASSEMBLER 設定値を表示します。
- AUTOMONITOR
- 現行の AUTOMONITOR 設定値を表示します。
- BROWSE MODE
- 現行のブラウズ・モード設定値を表示します。
- CHANGE
- 現行の CHANGE 設定値を表示します。
- COLORS (フルスクリーン・モード)
- 現行の COLOR 設定値を表示します。
- COUNTRY
- 現行の COUNTRY 設定値を表示します。
- CURRENT VIEW
- 現在適格な CU に使用されているビューの名前を表示します。
- DBCS
- 現行の DBCS 設定値を表示します。
- DEFAULT DBG
- 現行の DEFAULT DBG 設定値を表示します。
- DEFAULT LISTINGS
- 現行の DEFAULT LISTINGS 設定値を表示します。
- DEFAULT MDBG
- 現行の DEFAULT MDBG 設定値を表示します。
- DEFAULT SCROLL (フルスクリーン・モード)
- 現行の DEFAULT SCROLL 設定値を表示します。
- DEFAULT VIEW
- アセンブラー CU に対して LOADDEBUGDATA コマンドが入力されたときに初期ビューとして使用されるビューの名前を表示します。
- DEFAULT WINDOW (フルスクリーン・モード)
- 現行の DEFAULT WINDOW 設定値を表示します。
- DISASSEMBLY
- 現行の DISASSEMBLY 設定値を表示します。
- DYNDEBUG
- 現行の DYNDEBUG 設定値を表示します。
- ECHO
- 現行の ECHO 設定値を表示します。
- EQUATES
- 現行の EQUATE 定義を表示します。
- EXECUTE
- 現行の EXECUTE 設定値を表示します。
- FIND BOUNDS
- 現行の FIND BOUNDS 設定値を表示します。
- FREQUENCY
- 現行の FREQUENCY 設定値を表示します。
- HISTORY
- 現行の HISTORY の設定値とサイズを表示します。
- IGNORELINK
- 現行の IGNORELINK 設定値を表示します。
- INTERCEPT
- 現行の INTERCEPT 設定値を表示します。
- KEYS (フルスクリーン・モード)
- 現行の KEYS 設定値を表示します。
- LDD
- 現行の LDD 設定値を表示します。
- LIST TABULAR
- 現行の LIST TABULAR 設定値を表示します。
- LOCATION
- 実行が中断されているステートメント ID を表示します。QUERY LOCATION で識別される現行のステートメントは、まだ実行されていません。ブレークポイントで中断されている場合、そのブレークポイントの説明も表示されます。
- LOG
- 現行の LOG 設定値を表示します。
- LOG NUMBERS (フルスクリーン・モード)
- 現行の LOG NUMBERS 設定値を表示します。
- LONGCUNAME
- 現行の LONGCUNAME の設定値を表示します。
- MDBG
- 現行の MDBG 設定値を表示します。
- MONITOR COLUMN
- 現行の MONITOR COLUMN 設定値を表示します。
SET MONITOR COLUMN はバッチ・モードでも受け入れられますが、効果はありません。
- MONITOR DATATYPE
- 現行の MONITOR DATATYPE 設定値を表示します。
- MONITOR LIMIT (フルスクリーン・モード)
- 現行の MONITOR LIMIT 設定値を表示します。
- MONITOR NUMBERS (フルスクリーン・モード)
- 現行の MONITOR NUMBERS 設定値を表示します。
- MONITOR WRAP
- 現行の MONITOR WRAP 設定値を表示します。
SET MONITOR WRAP はバッチ・モードでも受け入れられますが、効果はありません。
- MSGID
- 現行の MSGID 設定値を表示します。
- NATIONAL LANGUAGE
- 現行の NATIONAL LANGUAGE 設定値を表示します。
- PACE
- 現行の PACE 設定値を表示します。この設定は、バッチ・モードではサポートされません。
- PFKEYS
- 現行の PFKEY 定義を表示します。この設定は、バッチ・モードではサポートされません。
- PLAYBACK
- PLAYBACK の現行のステータスを表示します。
- PLAYBACK LOCATION
- 再生されているステートメントのステートメント ID を表示します。
- POPUP
- 現行の POPUP 設定値を表示します。
- PROGRAMMING LANGUAGE
- 現行の PROGRAMMING LANGUAGE 設定値を表示します。Debug Tool は、C と C++ とを区別していませんので、C++ プログラムにも、C プログラムにもこのオプションを使用してください。
- PROMPT (フルスクリーン・モード)
- 現行の PROMPT 設定値を表示します。
- QUALIFY
- 現行の QUALIFY BLOCK 設定値を表示します。
- REFRESH (フルスクリーン・モード)
- 現行の REFRESH 設定値を表示します。
- RESTORE
- 現行の RESTORE 設定値を表示します。
- REWRITE
- 現行の REWRITE 設定値を表示します。この設定は、バッチ・モードではサポートされません。
- SAVE
- 現行の SAVE 設定値を表示します。
- SCREEN (フルスクリーン・モード)
- 現行の SCREEN 設定値を表示します。
- SCROLL DISPLAY (フルスクリーン・モード)
- 現行の SCROLL DISPLAY 設定値を表示します。
- SEQUENCE (PL/I)
- 現行の SEQUENCE 設定値を表示します。
- SETS
- SET コマンドによって制御されているすべての設定値を表示します。
- SOURCE
- 現行の SOURCE 設定値を表示します。
- SUFFIX (フルスクリーン・モード)
- 現行の SUFFIX 設定値を表示します。
- TEST
- 現行の TEST 設定値を表示します。
- WARNING (C)
- 現行の WARNING 設定値を表示します。
- WINDOW SIZES
- 現行の WINDOW SIZE 値および WINDOW CLOSE 情報を表示します。
このウィンドウ・サイズは、すべてのウィンドウが開かれた場合に適用される値です。
使用上の注意
QUERY ASSEMBLER、QUERY AUTOMONITOR、QUERY CURRENT VIEW、QUERY DEFAULT LISTINGS、QUERY
DEFAULT VIEW、QUERY DISASSEMBLY、QUERY DYNDEBUG、QUERY IGNORELINK、QUERY INTERCEPT、
QUERY LDD、QUERY LOCATION、QUERY LOG、QUERY QUALIFY、QUERY
REWRITE、および QUERY WARNING コマンドはリモート・デバッグ・モードで使用できます。
例
- 現行の ECHO 設定値を表示します。
QUERY ECHO;
- 現行の設定値をすべて表示します。
QUERY SETS;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
QUERY 接頭部 (フルスクリーン・モード)
ソース・ウィンドウ接頭部域でこのコマンドを発行する
と、ステートメント・ブレークポイントをもつ特定の行のステートメントを照会します。
使用上の注意
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
QUIT コマンド
QUIT コマンドは、Debug Tool セッションを終了して、式が指定されている
場合に戻りコードを設定します。フルスクリーン・モードでは、デバッグ・セッションの終了を確認するプロンプト・パネルも表示されます。行モード、バッチ・モード、およびリモート・デバッグ・モードでは、QUIT コマンドはプロンプトを出さずにセッションを終了します。
- expression
- 現行のプログラム言語で有効な Debug Tool 式を記入します。
expression が指定されると、この値は、アプリケーションの
戻りコード値として使用されます。実際の実行の戻りコードは、実行環境によって決まります。
expression は、リモート・デバッグ・モードでは使用できません。
- ABEND
- ABEND を指定すると、Debug Tool は CEE2F1 例外を発生させ、それぞれのアクティブなエンクレーブを終了します。
- DEBUG
- DEBUG を指定すると、Debug Tool は終了し、ユーザー・プログラムは実行を継続します。Debug Tool を再始動する呼び出しはすべて無視されます。デフォルトでは、CICS で実行される場合、会話が終了するまで (CICS に戻るために、TRANSID を指定せずに EXEC CICS RETURN が出されるまで) 疑似会話型アプリケーションが実行されます。
- TASK
- TASK は CICS 疑似会話型アプリケーションに適用されます。
TASK が指定されると、現行の CICS 疑似会話型タスクが終了するまで (EXEC CICS RETURN TRANSID)、Debug Tool 処理は中止されます。
新規タスクが疑似会話型で開始されると、Debug Tool デバッグが再開されます。
使用上の注意
- Debug Tool は、CADP または DTCN がパターンで正常に一致する場合にのみ、新規の疑似会話型タスクで再開されます。
- QUIT は、コマンド・リストに表示される場合を除いて、常にコメント行に記録されます。これにより、ログ・ファイルを主コマンド・ファイルとして再使用できます。
- QUIT が Debug Tool コマンド・ファイルから入力された場合、プロンプトは表示されません。この振る舞いは、Debug Tool 設定ファイル、主コマンド・ファイル、および USE ファイルでも同じです。
- PL/I の場合、式は、必要に応じて、FIXED BINARY (31,0) に
変換されます。さらに、式が指定されると、プログラムで PLIRETC 組み込みサブルーチンを呼び出したように使用されます。
- PL/I の場合、式の値は、負ではなく、1000 未満でなければなりません。
- QUIT DEBUG コマンドを入力して、その後 Debug Tool を再始動する場合は、最初にユーザー・プログラムを再始動する必要があります。
- CICS で実行されている非言語環境プログラム・アセンブラーまたは非言語環境プログラム COBOL プログラムの
デバッグ中に QUIT または QQUIT コマンドを
入力すると、Debug Tool は、QUIT ABEND コマンドが入力された場合と同じように動作し、U4038 異常終了が発生します。
- リモート・デバッグ・モードでは、
なんらかの形式の QUIT コマンドが設定ファイルまたはコマンド・ファイルで検出されると、
リモート・デバッガーがメッセージ「デバッグ・エンジンとの接続が切断されました (Connection with debug engine was lost)」を表示します。
例
- Debug Tool セッションを終了します。
QUIT;
- Debug Tool セッションを終了し、変数 x の値をアプリケーションの戻りコードとして使用します。
QUIT (x);
- プログラムを終了しないで、Debug Tool セッションを終了します。
QUIT DEBUG;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
QQUIT コマンド
QQUIT コマンドは、その後プロンプトを出すことなく Debug Tool セッションを終了します。
使用上の注意
- フルスクリーン・モードでは、QQUIT コマンドは、デバッグ・セッションを終了することを確認するプロンプト・パネルを表示しません。
- CICS で実行されている非言語環境プログラム・アセンブラーまたは非言語環境プログラム COBOL プログラムの
デバッグ中に QQUIT コマンドを
入力すると、Debug Tool は、QUIT ABEND コマンドが入力された場合と同じように動作し、U4038 異常終了が発生します。
- リモート・デバッグ・モードでは、
なんらかの形式の QQUIT コマンドが設定ファイルまたはコマンド・ファイルで検出されると、
リモート・デバッガーがメッセージ「デバッグ・エンジンとの接続が切断されました (Connection with debug engine was lost)」を表示します。
例
Debug Tool セッションを終了します。
QQUIT;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
RESTORE コマンド
RESTORE コマンドでは、Debug Tool の終了時に SET SAVE AUTO コマンドで以前に保管された設定、
ブレークポイント、およびモニター指定を明示的に復元できます。
- SETTINGS
- 次の値を除くすべての SET 値が復元されることを示します。
- SET DBCS
- SET FREQUENCY
- SET NATIONAL LANGUAGE
- SET PROGRAMMING LANGUAGE
- SET RESTORE SETTINGS の FILE オペランド
- SET QUALIFY
- SET SOURCE
- SET TEST
- BPS
- ブレークポイントおよび LOADDEBUGDATA (LDD) 指定が復元されることを示します。
以下のブレークポイントが復元されます。
- APPEARANCE ブレークポイント
- CALL ブレークポイント
- DELETE ブレークポイント
- ENTRY ブレークポイント
- EXIT ブレークポイント
- GLOBAL APPEARANCE ブレークポイント
- GLOBALCALL ブレークポイント
- GLOBAL DELETE ブレークポイント
- GLOBAL ENTRY ブレークポイント
- GLOBAL EXIT ブレークポイント
- GLOBAL LABEL ブレークポイント
- GLOBAL LOAD ブレークポイント
- GLOBAL STATEMENT および GLOBAL LINE ブレークポイント
- LABEL ブレークポイント
- LOAD ブレークポイント
- OCCURRENCE ブレークポイント
- STATEMENT および LINE ブレークポイント
- TERMINATION ブレークポイント
据え置き AT ENTRY ブレークポイントが検出されなかった場合、その保存も復元も行われません。
- MONITORS
- モニターおよび LOADDEBUGDATA (LDD) 指定が復元されることを示します。
使用上の注意
- このコマンドによって復元されたデータは、デフォルトのデータ・セット、
または SET RESTORE SETTINGS、SET RESTORE BPS、SET RESTORE MONITORS のいずれかの
コマンドによって指定されたデータ・セットから取り出されます。
- ブレークポイントまたはモニター指定の復元に使用されるメンバー名は、現行エンクレーブの初期ロード・モジュールの名前です。
- RESTORE コマンドの前には、SET SAVE または他の RESTORE コマンドを除く、他の Debug Tool コマンドを使用しないでください。
例
- 設定を復元します。
RESTORE SETTINGS;
- ブレークポイントおよびモニター指定を復元します。
RESTORE BPS MONITORS;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- Debug Tool ユーザーズ・ガイド
RETRIEVE コマンド (フルスクリーン・モード)
RETRIEVE コマンドは、コマンド行に入力された最後のコマンドを
表示します。長いコマンドの場合、これだけでコマンドの最後の行となる場合があります。
- COMMAND
- コマンドを検索します。コマンド行に検索されるコマンドすべては、Enter を押すことにより
実行されます。さらに、検索されたコマンドは、実行前に修正することもできます。連続した RETRIEVE コマンドは、コマンド行にあらかじめ
入力された最高 12 までのコマンドを続けて表示します。このオペランドは、PF キーに割り当てると、有効に利用できます。
使用上の注意
- RETRIEVE コマンドはログに記録されません。
例
最後の行を検索して、コマンドを再度出すか、あるいは修正できるようにします。
RETRIEVE COMMAND;
RUN コマンド
RUN コマンドは、GO コマンドと同義です。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
RUNTO コマンド
RUNTO コマンドは、ブレークポイントを設定せずに、有効な実行可能ステートメントまでプログラムを実行します。
ステートメント ID を指定するか、ステートメント上にカーソルを配置することによって、どのステートメントで停止するかを指示することができます。
- statement_id
- 有効なステートメント ID。逆アセンブルされたプログラムをデバッグしている場合、ステートメント ID を 16 進数形式のオフセットで指定します (X' オフセット')。
使用上の注意
- ステートメントにカーソルを置くことによってステートメントを指示する場合、カーソルは、ソース・ウィンドウの実行可能ステートメントが始まる行に置く必要があります。
- ステートメントにカーソルを置くことによってステートメントを指示する場合で、同じ行に複数のステートメントがあれば、RUNTO コマンドのターゲットはその行の最初の関連ステートメントです。最適化 COBOL プログラムでは、コマンドの宛先は、最適化プログラムによって廃棄されなかった最初の実行可能コマンドです。
- ステートメント ID を提供することによってステートメントを指示する場合、ステートメント ID は実行可能ステートメントでなければなりません。
- 以下のいずれかの条件が生じるまで、実行は継続します。
- カーソル位置またはステートメント ID によって指示された場所に到達する。
- 事前設定のブレークポイントに到達する。
- ジョブの最後に到達する。
- 最適化 COBOL プログラムでは、RUNTO コマンドは、ユーザーが指示したステートメントに到達するまで有効です。例えば、プログラムがブレークポイントに到達したあと GO コマンドまたは RUN コマンドを入力すると、次のブレークポイントに到達するまで、またはユーザーが指示したステートメントに到達するまで、プログラムは実行されます。
- RUNTO コマンドをリモート・デバッグ・モードで使用できるのは、アクション・フィールドにこのコマンドを入力した場合のみです。このフィールドは、ブレークポイントの追加タスクのオプション・パラメーター・セクションにあります。
例
- ステートメント 67 まで実行します。ステートメント 67 は現在アクティブなブロック内にあります。
RUNTO 67;
- ブロック IPLI11A 内のステートメント 11 まで実行します。IPLI11A は現行エンクレーブ内で既知です。
RUNTO IPLI11A :> 11
- ステートメント 36 まで実行します。ステートメント 36 は、ソース・ウィンドウにあります。
- コマンド行で RUNTO と入力します。
- ステートメント 36 にカーソルをおきます。
- Enter を押す。
- PF キーを使用して、ステートメント 74 まで実行します。
- PF キーを定義して、カーソル位置まで実行します。
SET PF13 = RUNTO;
- カーソルをステートメント 74 に置いて、shift+PF1 キーを押します。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
RUNTO 接頭部コマンド (フルスクリーン・モード)
ソース・ウィンドウの接頭部域でこのコマンドを出すと、ステートメントまで実行します。
使用上の注意
- RUNTO 接頭部の場合、キーワードと整数の間に区切り文字としてのスペースは必要はありません。すなわち、RUNTO 67 は RUNTO67 と同じです。
- 最適化 COBOL プログラムでは、1 つの行に複数のステートメントがある場合、RUNTO 接頭部は最適化プログラムによって廃棄されなかった最初の実行可能ステートメントまで実行されます。
例
ステートメント 67 まで実行します。ステートメント 67 は、ソース・ウィンドウにあります。
- ステートメント 67 の接頭部域に RUNTO と入力し、Enter を押します。
SCROLL コマンド (フルスクリーン・モード)
SCROLL コマンドにより、フルスクリーン・モードで、横方向と縦方向の
スクロールを行うことができます。スクロール・コマンドは、IMMEDIATE コマンドで直ちに有効になります。SCROLL キーワードは任意です。
ログ、モニター、メモリー、またはソースの各ウィンドウは、スクロール時にラップしません。

- DOWN
- ウィンドウ内の行を、指定した数だけ、そのウィンドウの上部マージンの方向に
スクロールします。DOWN は NEXT と同等です。
- LEFT
- ウィンドウ内の桁を、指定した数だけ、そのウィンドウの右側のマージンの
方向へスクロールします。SET MONITOR WRAP OFF が有効な場合に LEFT を使用すると、
モニター値領域に指定された文字数だけ右方向にスクロールできるため、表示されていない左方のデータを表示できるようになります。
- NEXT
- DOWN と同等です。
- RIGHT
- ウィンドウ内の桁を、指定した数だけ、そのウィンドウの左側のマージンの
方向へスクロールします。SET MONITOR WRAP OFF が有効な場合に RIGHT を使用すると、
モニター値領域に指定された文字数だけ左方向にスクロールできるため、表示されていない右方のデータを表示できるようになります。
- UP
- ウィンドウ内の行を、指定した数だけ、そのウィンドウの下部マージンの方向に
スクロールします。
- CSR
- 選択したウィンドウのカーソルの現在位置を基点として、スクロールを指定します。カーソルに位置づけられた文字がウィンドウの端に到達するまで、ウィンドウはそのカーソル位置の上方向、下方向、左方向、または右方向にスクロールされます。カーソルがウィンドウ内にない場合、あるいは、あらかじめウィンドウの端に位置づけられている場合、全ページのスクロールが行われます。
カーソルがモニター値領域にある場合、モニター値領域はカーソル位置の左または右にスクロールされます。
- DATA
- ウィンドウ・サイズよりも 1 行少ない行で、あるいはウィンドウ・サイズよりも 1 字小さい字数で
スクロールします (左方向と右方向の移動の場合)。カーソルがモニター値領域にある場合、モニター値領域は、モニター値領域の幅より 1 字小さい長さだけ
左または右にスクロールされます。
- HALF
- ウィンドウ・サイズの半分だけ、またはモニター値領域の半分だけスクロールします。
- integer
- 指定した行数 (上方または下方) または指定した文字数 (左方または右方) だけ
スクロールします。最大値は 9999 です。
- MAX
- データの終わりに到達するまで、指定した方向にスクロールします。最大限にスクロールするには、MAX キーワードを使用しなければなりません。スクロール量フィールドに指定することによって、最大限にスクロールすることはできません。
カーソルがモニター値領域にある場合、モニター値領域は、データの限界に達するまで左または右にスクロールされます。
- PAGE
- ウィンドウ・サイズだけ、またはモニター値領域のサイズだけスクロールします。
- BOTTOM
- データの下部にスクロールします。
- TO integer
- 選択したウィンドウで、指定した行に (選択したウィンドウの接頭部域に
示されたとおりに) スクロールするように指定します。これは、UP または DOWN のいずれかの方向に
行います (例えば、行 30 にいる場合、TO 20 を出すと、20 行目に
戻ります)。最大値は 999999 です。
- TOP
- データの上部にスクロールします。
- CURSOR
- カーソルが現在位置付けられているウィンドウを選択します。
- LOG
- セッション・ログ・ウィンドウを選択します。
- MEMORY
- メモリー・ウィンドウを選択します。
- MONITOR
- モニター・ウィンドウを選択します。
- SOURCE
- ソース・リスト・ウィンドウを選択します。
使用上の注意
- メモリー・ウィンドウでは以下のコマンドを使用できません。
- SCROLL TOP
- SCROLL BOTTOM
- SCROLL TO
- SCROLL LEFT
- SCROLL RIGHT
- SCROLL MAX
- DOWN、LEFT、NEXT、RIGHT、また
は UP キーワードでオペランドが指定されておらず、カーソルがウィンドウ
域の外側にある場合は、スクロールされたウィンドウは、現在のデフォルト・ウィンドウ設定値で
判別されて (ウィンドウがオープンしている場合)、スクロール量
は、Debug Tool セッション・パネルの SCROLL フィールドで示されている
現在のデフォルト・スクロール設定値で判別されます。デフォルトのスクロール設定値とウィンドウ設定値
は、SET DEFAULT SCROLL と SET DEFAULT WINDOW コマンドで
制御されます。
- Debug Tool セッション・パネルの SCROLL フィールドが新しい値で上書きされると、コマンド行へコマンドを入力した場合と同様に、同じ機能の SET DEFAULT SCROLL コマンドを出します。(つまり、コマンドは
ログに記録され、取り出し可能です。)
- SCROLL コマンドはログに記録されません。
- モニター値領域を左または右にスクロールするには、SET MONITOR WRAP OFF を有効にして、カーソルをモニター値領域に置く必要があります。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SELECT コマンド (PL/I)
SELECT コマンドで、1 組の代替コマンドから 1 つを選択します。
参照が複数の WHEN 文節の条件を満たす場合、最初の WHEN 文節が実行されます。参照がない場合は、真になる式を含む最初の WHEN 文節が実行されます。どの WHEN 文節にも当てはまらない場合、OTHERWISE 文節
があれば、それに指定されているコマンドが実行されます。OTHERWISE 文節の実行が必要であるのに、指定されていない場合
は、Debug Tool のメッセージが出されます。
- reference
- 有効な Debug Tool の PL/I スカラー参照。集合体 (配列または構造体) は、参照として使用できません。
- WHEN
- 式または式のグループを評価し、さらに、SELECT キーワードの
直後にある参照と比較するか、あるいは、真か偽として評価
(参照 が省略されている場合) することを指定します。
- expression
- 有効な Debug Tool の PL/I の式。
- command
- 有効な Debug Tool コマンド。
- OTHERWISE
- 先行する WHEN ステートメントのすべてのテストが
該当しない場合に実行するコマンドを指定します。
使用上の注意
- SELECT コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
sum の値が c+ev の値に等しいとき、メッセージを表示します。sum の値が fv の値に等しいか、または 0 のとき、メッセージを表示します。sum の値が c+ev、fv の値に等しくなく、または 0 でもない場合は、Debug Tool のエラー・メッセージが出されます。
SELECT (sum);
WHEN (c + ev) LIST ('Match on when group number 1');
WHEN (fv, 0) LIST ('Match on when group number 2');
END;
SET コマンド
SET コマンドは、Debug Tool の操作に影響を与えるさまざまな
切り替えを設定します。SET コマンド以外で指定される場合を例外として、設定はデバッグ・セッション全体にそのまま有効です。
次の表は、SET コマンドの形式を要約しています。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET ASSEMBLER ON/OFF コマンド
逆アセンブルされたコンパイル単位は、TEST コンパイラー・オプションを指定してコンパイルされず、また LOADDEBUGDATA コマンドのオペランドとして使用されていない CU です。SET ASSEMBLER
ON コマンドにより、SET DISASSEMBLY ON コマンドで使用可能になった関数のサブセットが使用可能になります。逆アセンブルされたコンパイル単位に関する次の動作は、SET ASSEMBLER ON コマンドによって使用可能になります。
- 逆アセンブリー CU を停止するには、次のコマンドを使用します。
- AT APPEARANCE *
- AT APPEARANCE name
- 逆アセンブルされたコンパイル単位の名前を表示するには、次のコマンドを使用します。
- DESCRIBE CUS
- LIST
- LIST NAMES CUS
- QUERY SOURCE
- OFF
- アセンブラー・プログラムのデバッグ中に役に立つデータの表示を使用不可にします。
- ON
- アセンブラー・プログラムのデバッグ中に役に立つデータの表示を使用可能にします。
使用上の注意
- また、SET DISASSEMBLY ON を使用して、アセンブラー・プログラムのデバッグ中に役に立つ情報の表示を制御することもできます。
- このコマンドはリモート・デバッグ・モードで使用できます。
例
逆アセンブル・コンパイル単位を LIST NAMES CUS および DESCRIBE CUS コマンドで表示される
コンパイル単位のリストに含めるには、次のコマンドを入力します。
SET ASSEMBLER ON ;
次回 LIST NAMES CUS または DESCRIBE CUS コマンドを入力すると、
逆アセンブル・コンパイル単位がコンパイル単位のリストに表示されます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET ASSEMBLER STEPOVER コマンド
アセンブラーのコンパイル単位にある STEP OVER コマンドを Debug Tool が処理する方法を指定します。
EXTONLY が有効な場合、Debug Tool は外部サブルーチンへの呼び出しのみをステップオーバーします。
EXTINT が有効な場合、Debug Tool は、外部サブルーチンおよび内部サブルーチンへの呼び出しをステップオーバーします。
外部サブルーチンは、現行のコンパイル単位の外側にあるサブルーチンです。
内部サブルーチンは、現行のコンパイル単位の内側にあるサブルーチンです。
Debug Tool は、現行のコンパイル単位 (CSECT) 内のある命令を次に実行するときに、以下の状態のどちらかがあると、制御をユーザーに返します。
- EXTONLY が有効になっている
- EXTINT が有効になっていて、アセンブラー・プログラムが外部サブルーチンを呼び出している
Debug Tool は、ユーザーがステップオーバーしたいサブルーチンは、次の状態のすべてが起こった場合、
そのサブルーチンへの呼び出しに続く命令に戻ることを前提にしています。
- EXTINT が有効になっている
- 機能が内部サブルーチンである
- ユーザーが現在停止している命令の直後のアドレスには実行可能命令 (データではなく) が入っている
Debug Tool は、ユーザーが内部サブルーチンを呼び出す場合は、以下の命令のいずれかを使用することを前提にしています。
- BAL
- BAS
- BRAS
- BALR
- BASR
- BASSM
- BRASL
- EXTONLY
- Debug Tool が、外部サブルーチンを ステップオーバー し、
内部サブルーチンを ステップスルー することを指定します。
- EXTINT
- Debug Tool が外部および内部サブルーチンをステップオーバーすることを指定します。
使用上の注意
- EXTINT が有効になっていて、内部サブルーチンが、
そのサブルーチンへの呼び出しの直後の命令に戻らない場合、
以下の状態のいずれかが発生する可能性があります。
- Debug Tool が制御を取り戻さない
- Debug Tool は、別のブレークポイントが実行された場合にのみ制御を取り戻す
- Debug Tool は、外部イベントが発生した場合にのみ制御を取り戻す
- Debug Tool は制御を取り戻さず、プログラムは強制終了されるまで実行される
- このコマンドはリモート・デバッグ・モードで使用できます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET AUTOMONITOR コマンド
Debug Tool が次に実行するステートメント、Debug Tool が最後に実行したステートメント、
またはこの両方のデータ項目のモニターを制御します。初期設定値は OFF です。
AUTOMONITOR は、以下のコンパイル単位でのみ働きます。
- TEST コンパイラー・オプションの SYM
サブオプションを指定してコンパイルされた、COBOL または PL/I コンパイル単位。
Enterprise COBOL for z/OS バージョン 4.1 でコンパイルされた COBOL プログラムは、TEST コンパイラー・オプションの SYM サブオプションを使用する必要はありません。
- アセンブラー、逆アセンブリー、または非言語環境プログラム COBOL のコンパイル単位
SET AUTOMONITOR コマンドは、その他の言語で作成されたコンパイル単位
では働きません。
さらに、コンパイル単位は、以下のコンパイラーまたはアセンブラーのいずれかでコンパイルまたはアセンブルする必要があります。
- Enterprise COBOL for z/OS バージョン 4.1
- Enterprise COBOL for z/OS and OS/390 バージョン 3 リリース 2 以降
- Enterprise COBOL for z/OS and OS/390 バージョン 3 リリース 1、APAR PQ63235 適用
- COBOL for OS/390 & VM バージョン 2、APAR PQ63234 適用
- OS/VS COBOL バージョン 1 リリース 2.4
- Enterprise PL/I for z/OS and OS/390 バージョン 3 リリース 2 以降
- High Level Assembler for MVS & VM & VSE バージョン 1 リリース 4 以降
- ON
- Debug Tool が次に実行するステートメント、Debug Tool が最後に実行したステートメント、またはこの両方のデータ項目のモニターを使用可能にします。 LOG サブオプションを指定して、情報をログ・ファイルに保存します。
- OFF
- すべてのデータ項目のモニターを使用不可にします。情報は、ログ・ファイルに保存されません。
- LOG
- 情報をログ・ファイルに保存します。
- NOLOG
- 情報をログ・ファイルに保存しません。
- CURRENT
- Debug Tool が次に実行するステートメントのデータ項目をモニターします。これはデフォルトです。
- PREVIOUS
- Debug Tool が最後に実行したステートメントのデータ項目をモニターします。
- BOTH
- Debug Tool が次に実行するステートメントと Debug Tool が最後に実行したステートメントのデータ項目をモニターします。
使用上の注意
- このコマンドはリモート・デバッグ・モードで使用できます。
- PLAYBACK ENABLE コマンドの DATA オプションが現行のコンパイル単位に対して有効な場合、記録されたステートメントを PLAYBACK コマンドを使用して再生する間に SET AUTOMONITOR コマンドを使用することができます。しかし、BOTH または PREVIOUS パラメーターは使用できません。
- 自動モニターをサポートしないコンパイラーによってコンパイルされたコンパイル単位に対して SET AUTOMONITOR ON LOG コマンドを入力する場合、Debug Tool は、ブレークポイント・ロケーションをログに書き込みます。これは、到達したブレークポイントの記録となります (ブレークポイント・トレース)。可変情報は表示されません。
- 到達したブレークポイント (ブレークポイント・トレース) をログ・ファイルに記録するには、次のコマンドを入力します。SET AUTOMONITOR ON LOG; AT * GO;。
自動モニターをサポートするコンパイラーによってコンパイルされたコンパイル単位では、ステートメント・ロケーション、変数名、および変数の値がログに保存されます。
その他のコンパイル単位では、ステートメント・ロケーションがログに保存されます。
- Enterprise PL/I for z/OS バージョン 3 リリース 5 より前の PL/I コンパイラーでコンパイルされたプログラムをデバッグする場合、
ターゲット変数はリストされません。
例えば、次の PL/I ステートメントでは、J およびその値のみが表示されます。
I = J + 1
- アセンブラーおよび逆アセンブリーの場合、Debug Tool は、32 ビット汎用レジスター、浮動小数点レジスター、およびストレージ・オペランドのみ表示します。
Debug Tool は、これらを以下のように表示します。
- レジスター・オペランドは番号順に表示されます。
- ストレージ・オペランドは、S1、S2、および S4 の順に表示されます。
- ストレージ・オペランドが単一シンボルである場合、シンボル名は、モニター・ウィンドウの自動モニター・セクションに表示されます。
それ以外の場合、指定されたオペランドはコメントとして表示され、_STORAGE 関数を使用してストレージ内容を表示します。
例えば、_STORAGE(X'1F3C8'::4) を使用して、アドレス X'1F3C8' の 4 バイト・ストレージ・オペランドを表示します。
- アセンブラー・コンパイル単位では、SET AUTOMONITOR コマンドによって、単一のマシン・インストラクションのみに関する情報が提供されます。NOMACGEN ビューの場合でも、SET AUTOMONITOR によって、現行マクロ呼び出しのすべてのオペランドではなく、1 つのマシン・インストラクションのみに関する情報が提供されます。
- 非言語環境プログラム COBOL では、配列参照は AUTOMONITOR 出力に組み込まれません。
- すべてのデータ項目のモニターを使用不可にするには、SET AUTOMONITOR OFF または CLEAR MONITOR n コマンドを入力します。
ここで、n は自動モニター項目のモニター番号です。
モニター・ウィンドウの項目に、CL 接頭部コマンドを使用することもできます。
- Debug Tool はモニター・ウィンドウの AUTOMONITOR セクションに、宣言されたデータ型で
変数の値を表示します。この動作は以下の方法で変更できます。
- 値を一度 16 進形式で表示するには、その項目の接頭部域に
HEX コマンドを入力します。プログラムをステップごとに実行するときに、
Debug Tool はこの表示を宣言されたデータ型に戻します。
- 値を引き続き 16 進形式で表示するには、
以下のコマンドのいずれかを入力してください。
- MONITOR HEX n と入力します。ここで n は AUTOMONITOR セクションにおけるエントリーのモニター番号です。
プログラムをステップごとに実行するときに、
Debug Tool は MONITOR DEF n コマンドが入力されるまで、変数の値を 16 進形式で表示します。
ここで n は、MONITOR HEX コマンドに使用する数値と同じです。
- AUTOMONITOR 行 (『********** AUTOMONITOR **********』) の接頭部域に HEX を入力します。プログラムをステップごとに実行するときに、Debug Tool は
AUTOMONITOR 行の接頭部域に DEF コマンドが入力されるまで、AUTOMONITOR セクションのすべての変数の値を 16 進形式で表示します。
- ステートメントの実行前後の変数の値を確認するには、プログラムをステップごとに実行するときに (STEP コマンドを使用)、PREVIOUS および BOTH オプションを使用します。
- PREVIOUS または BOTH オプションを使用し、GO コマンドでプログラムを実行すると、Debug Tool は、Debug Tool が最後に実行した行の変数の値を表示します。この行は、ソース・ウィンドウに現在行の直前に表示される行でない場合があります。
- エンクレーブ間で制御が転送され、次のいずれかの設定が有効な場合、Debug Tool は、以前のエンクレーブからのデータを判別できません。
- SET AUTOMONITOR ON LOG と PREVIOUS または BOTH
- SET AUTOMONITOR ON NOLOG と PREVIOUS または BOTH
Debug Tool はメッセージを表示します。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET CHANGE コマンド
AT CHANGE ブレークポイントの検査の頻度を制御します。初期設定値は STATEMENT/LINE です。
- STATEMENT
- AT CHANGE ブレークポイントが、すべてのステートメントで検査されるように
指定します。STATEMENT は LINE と同等です。
- ALL
- AT CHANGE ブレークポイントが、すべてのステートメント、ブロックの入り口と出口、パス点で検査されるように指定します。
- BLOCK
- AT CHANGE ブレークポイントが、すべてのブロックの入り口と出口で
検査されるように指定します。
- LINE
- STATEMENT と同等です。
- PATH
- AT CHANGE ブレークポイントが、すべてのパス点で検査されるように
指定します。
例
- AT CHANGE ブレークポイントが、すべてのステートメントで
検査されるように指定します。
SET CHANGE;
- AT CHANGE ブレークポイントが、すべてのパス点で
検査されるように指定します。
SET CHANGE PATH;
SET COLOR コマンド (フルスクリーンおよび行モード)
SCREEN 設定が ON のときに、カラー属性、強調表示属性、および輝度属性の制御を行います。カラー、強調表示、および輝度のキーワードは、任意の順序で指定することができます。

- CYCLE
- カラーを、順序どおりに次のカラーに変更します。その順序は、構文図に示されている順序です。
- BLINK
- 文字を明滅させます (端末でサポートされている場合)。
- NONE
- 文字を、通常の字体で表示します。
- REVERSE
- 文字を反転表示させます (端末でサポートされている場合)。
- UNDERLINE
- 文字に下線を引きます (端末でサポートされている場合)。
- HIGH
- 画面のカラーを高輝度にします (端末でサポートされている場合)。
- LOW
- 画面のカラーを低い輝度にします (端末でサポートされている場合)。
- CURSOR
- フィールド選択のために、カーソル・ポイントが使用できるように指定します。オプションとして、フィールド名 (例えば、COMMAND
LINE) を、構文図に示されたとおりに入力することができます。
- COMMAND LINE
- コマンド入力行 (===> の後) を選択します。
- LOG LINES
- ログ・ウィンドウの行番号部分を選択します。
- MEMORY ADDRESS
- メモリー・ダンプ域のアドレス列を選択します。
- MEMORY BASE ADDRESS
- 情報域の基底アドレスおよびヒストリー行を選択します。
- MEMORY CHARACTER
- メモリー・ダンプ域の文字カラムを選択します。
- MEMORY HEXADECIMAL
- メモリー・ダンプ域の 16 進列を選択します。
- MEMORY INFORMATION
- 情報域のヒストリー行を選択します。
- MEMORY OFFSET
- メモリー・ダンプ域のオフセット列を選択します。
- MONITOR AREA
- モニター・ウィンドウの 1 次区域を選択します。
- MONITOR LINES
- モニター・ウィンドウの行番号部分を選択します。
- PROGRAM OUTPUT
- ログ・ウィンドウに表示されるアプリケーション・プログラム出力を選択します。
- SOURCE AREA
- ソース・ウィンドウの 1 次区域を選択します。
- SOURCE BREAKPOINTS
- ブレークポイントが設定されるステートメントの隣に、ソース接頭部フィールドを選択します。
- SOURCE CURRENT
- 実行予定のソース・ステートメントを含む、行を選択します。
- SOURCE PREFIX
- ソース・ウィンドウの左側にあるステートメント ID 列を選択します。
- SOURCE SUFFIX
- ソース・ウィンドウの右側に頻度桁を選択します。
- TARGET FIELD
- フルスクリーン・モードで、FIND コマンド (ある場合) のターゲットを選択します。
- TEST INPUT
- ログ・ウィンドウに表示された Debug Tool 入力を選択します。
- TEST OUTPUT
- ログ・ウィンドウに表示された Debug Tool 出力を選択します。
- TITLE FIELDS
- 現行のプログラム言語設定値またはプログラム内の現行位置などの、画面の最上行に
ある情報フィールドを選択します。
- TITLE HEADERS
- 画面の最上行の説明ヘッダー (位置など) を選択します。
- TOFEOF MARKER
- セッション・パネル・ウィンドウにあるファイルの始まり行とファイルの終わり行を
選択します。
- WINDOW HEADERS
- メイン・セッション・パネルにウィンドウのヘッダー行を選択します。
例
SET COUNTRY コマンド
アプリケーション・プログラムの現行の国別コード設定を変更します。言語環境プログラムでサポート
されている場合、または言語環境プログラム・ランタイムなしに実行されている場合にのみ使用可能です。
IBM 提供の初期値としての国別コードは US です。
- country_code
- 国別コードを識別する有効な 2 文字のセットが使用されます。国別コードには、以下の値のいずれか 1 つを当てることができます。
国別コードを短縮することはできません。
使用上の注意
- この設定値は、アプリケーションと Debug Tool の両方に影響を与えます。
- エンクレーブの開始時点では、設定値は、言語環境プログラム、オペレーティング・システム、
または Debug Tool ランタイム・オプションによって提供されたものになっています。
ネストされたエンクレーブの場合、子エンクレーブから戻ると、親の設定が復元されます。
例
日本に対応させるために、現行の国別コードを変更します。
SET COUNTRY JP;
SET DBCS コマンド
シフトイン・コードおよびシフトアウト・コードが、入力で解釈されて、DBCS 出力で提供されるかどうか
を制御します。SET DBCS は、すべてのプログラム言語に有効です。初期設定値は OFF です。
- ON
- シフトイン・コードおよびシフトアウト・コードを解釈します。フルスクリーン・モードでデバッグしていて、端末が DBCS 文字を表示できない場合は、このオプションは使用できません。
- OFF
- シフトイン・コードおよびシフトアウト・コードを無視します。
使用上の注意
- SET NATIONAL LANGUAGE ENU コマンドを入力した後、SET DBCS ON コマンドを入力すると、Debug Tool は、各国語を UEN に再設定して、DBCS 文字との互換性を保ちます。
- NATIONAL LANGUAGE を JPN または KOR に設定し、フルスクリーン・モードを使用している場合、SET DBCS
ON コマンドを入力して、Debug Tool がメッセージを正しく表示できるようにします。
例
シフトイン・コードとシフトアウト・コードを解釈するように指定します。
SET DBCS ON;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET DEFAULT DBG コマンド
Debug Tool が .dbg ファイルを見つけるために検索するデフォルトの区分データ・セットの DD 名または DS 名を定義します。
.dbg ファイルは、DEBUG コンパイラー・オプションの FORMAT(DWARF) サブオプションを
選択すると、z/OS XL C/C++ コンパイラーによって生成されます。
コンパイラーは、DEBUG コンパイラー・オプションの FILE サブオプションに指定した内容に基づいて、名前をファイルに割り当てます。
- ddname
- 有効な z/OS DD 名を指定します。
オペランドの長さが 9 文字より短く、ピリオドが含まれていない場合、Debug Tool は、これを DD 名として解釈します。
- dsn
- 有効な、完全修飾 z/OS 区分データ・セット名を指定します。
- ( dsn, dsn, ...)
- 有効な z/OS 区分データ・セット名のリストを指定します。
使用上の注意
- このコマンドはリモート・デバッグ・モードで使用できます。
- ddname または dsn を指定しない場合、Debug Tool は、前のデフォルトの dbg 設定値をすべて消去します。
- データ・セット名が長すぎて 1 行に入力できない場合は、ファイル名の末尾にハイフンを付けます。
- CICS または UNIX® System Services 環境でデバッグを行う場合、
ddname パラメーターは使用できません。
例
- デフォルトの .dbg ファイルに DS 名 SVTRSAMP.TS99992.MYDBG を割り振るよう指示します。
SET DEFAULT DBG SVTRSAMP.TS99992.MYDBG;
- プログラム MYPROG の .dbg ファイルは SVTRSAMP.TS99992.MYDBG にあり、
これは、次のコマンドを使用して割り振られています。
ALLOC DDNAME(ITEM1) DSNAME('SVTRSAMP.TS99992.MYDBG') SHR
場所を指定するには、次のコマンドを入力します。
SET DEFAULT DBG ITEM1;
- プログラム MYPROG の .dbg ファイルは JSMITH.CPGMS.DBG にあり、
これは、次のコマンドを使用して割り振られています。
ALLOC FI(DBGLIST) DAT('MJONES.OTHER.DBG' 'JSMITH.CPGMS.DBG')
場所を指定するには、次のコマンドを入力します。
SET DEFAULT DBG DBGLIST;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET DEFAULT LISTINGS コマンド
プログラムのソース、リスト、または分離デバッグ・ファイルを求めて検索されるメンバーを持つ、デフォルトの区分データ・セットの DD 名または DS 名を定義します。
- ddname
- 有効な z/OS DD 名を指定します。
オペランドの長さが 9 文字より短く、ピリオドが含まれていない場合は、DD 名として解釈されます。
割り振られたデータ・セットが C、C++、または Enterprise PL/I ソースであり、ライブラリー・システム内のソース・ファイルへのアクセスに
EQAOPTS SUBSYS=ssss オプションが使用されている場合、ddname 書式は使用できません。
- dsn
- 有効な、完全修飾 z/OS 区分データ・セット名を指定します。
- ( dsn, dsn, ...)
- 有効な z/OS 区分データ・セット名のリストを指定します。
使用上の注意
- このコマンドはリモート・デバッグ・モードで使用できます。
- LISTINGS キーワードを省略することはできません。
- ddname または dsn が指定されないと、前のデフォルト・リスト設定は消去されます。
- データ・セット名が長すぎて 1 行に入力できない場合は、ファイル名の末尾にハイフンを付けます。
- SET SOURCE ON コマンドは、SET DEFAULT LISTINGS コマンドより高い優先順位をもちます。
- SET DEFAULT LISTINGS コマンドは、逆アセンブリー・コンパイル単位には影響しません。しかし、コンパイル単位が LOADDEBUGDATA コマンドのオペランドとして指定されると、保存して後で適用できます。
- CICS
環境でデバッグする場合は、ddname パラメーターは使用できません。
- DEBUG コンパイラー・オプションの FORMAT(DWARF) サブオプションを使用して C または C++ プログラムをコンパイルした場合、
SET DEFAULT LISTINGS コマンドを使用して .dbg ファイルまたは .mdbg ファイルの新しい場所を指定することはできません。
例
- デフォルトのリスト・ファイルに DS 名 SVTRSAMP.TS99992.MYLIST を割り振るよう指示します。
SET DEFAULT LISTINGS SVTRSAMP.TS99992.MYLIST;
- プログラム MYPROG のリストは SVTRSAMP.TS99992.MYLIST にあり、
これは、次のコマンドを使用して割り振られています。
ALLOC DDNAME(ITEM1) DSNAME('SVTRSAMP.TS99992.MYLIST') SHR
場所を指定するには、次のコマンドを入力します。
SET DEFAULT LISTINGS ITEM1;
- プログラム MYPROG のリストは JSMITH.COBPGMS.LISTING にありの場のコマンドを使用して割り振られます。
ALLOC FI(CBLIST) DAT('MJONES.OTHER.LISTING' 'JSMITH.COBPGMS.LISTING')
場所を指定するには、次のコマンドを入力します。
SET DEFAULT LISTINGS CBLIST
- プログラム AVER 用のリストは、myid.source.listing(AVERLIST) にあります。コマンド SET DEFAULT LISTINGS myid.source.listing を入力すると、Debug Tool は
PDS myid.source.listing 内で AVER という名前のメンバーを探します。
メンバーは AVERLIST と呼ばれるため、そのリストは検出されません。
場所を指定するには、次のコマンドを入力します。
SET SOURCE ON (AVER) myid.source.listing(AVERLIST);
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET DEFAULT MDBG コマンド
Debug Tool が .mdbg ファイルを見つけるために検索するデフォルトの区分データ・セットの DD 名または DS 名を定義します。
.mdbg ファイルは、dbgld コマンドまたは CDADBGLD ユーティリティーを使用して作成します。
- ddname
- 有効な z/OS DD 名を指定します。
オペランドの長さが 9 文字より短く、ピリオドが含まれていない場合、Debug Tool は、これを DD 名として解釈します。
- dsn
- 有効な、完全修飾 z/OS 区分データ・セット名を指定します。
- ( dsn, dsn, ...)
- 有効な z/OS 区分データ・セット名のリストを指定します。
使用上の注意
- このコマンドを使用するには、「Debug Tool カスタマイズ・ガイド」の説明に従って、EQAXOPT MDBG オプションを EQAOPTS オプション・ファイルで YES に設定する必要があります。
環境変数をサポートする環境では、EQA_USE_MDBG 環境変数を使用して、特定のデバッグ・セッションのためにこのオプションをオーバーライドできます。
- このコマンドはリモート・デバッグ・モードで使用できます。
- ddname または dsn を指定しない場合、Debug Tool は、前のデフォルトの mdbg 設定値をすべて消去します。
- データ・セット名が長すぎて 1 行に入力できない場合は、ファイル名の末尾にハイフンを付けます。
- SET MDBG コマンドは、SET DEFAULT MDBG コマンドより高い優先順位をもちます。
- CICS または UNIX System Services 環境でデバッグを行う場合、
ddname パラメーターは使用できません。
例
- デフォルトの .mdbg ファイルに DS 名 SVTRSAMP.TS99992.MYMDBG を割り振るよう指示します。
SET DEFAULT MDBG SVTRSAMP.TS99992.MYMDBG;
- DLL MYPROG の .mdbg ファイルは SVTRSAMP.TS99992.MYMDBG にあり、
これは、次のコマンドを使用して割り振られています。
ALLOC DDNAME(ITEM1) DSNAME('SVTRSAMP.TS99992.MYMDBG') SHR
場所を指定するには、次のコマンドを入力します。
SET DEFAULT MDBG ITEM1;
- ロード・モジュール MYLOAD の .mdbg ファイルは JSMITH.CPGMS.MDBG にあり、
これは、次のコマンドを使用して割り振られています。
ALLOC FI(CMDBG) DAT('MJONES.OTHER.MDBG' 'JSMITH.CPGMS.MDBG')
場所を指定するには、次のコマンドを入力します。
SET DEFAULT MDBG CMDBG;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET DEFAULT SCROLL コマンド (フルスクリーン・モード)
SCROLL コマンドが、スクロール量を指定しないで出されたときに
使用される、デフォルトのスクロール量を設定します。初期設定値は PAGE です。
- CSR
- カーソルが位置付けられている文字がウィンドウの端に到達するまで、指定した方向にスクロールします。
- DATA
- ウィンドウ・サイズよりも 1 行少ない行で、あるいはウィンドウ・サイズよりも 1 字小さい字数で
スクロールします (左方向と右方向の移動の場合)。
- HALF
- ウィンドウ・サイズの半分だけスクロールします。
- integer
- 指定した行数 (上方または下方) または指定した文字数 (左方または右方) だけ
スクロールします。最大値は 9999 です。
- MAX
- データの終わりに到達するまで、指定した方向にスクロールします。
- PAGE
- ウィンドウ・サイズ単位でスクロールします。
例
デフォルトのスクロール量をウィンドウのサイズの半分に設定します。
SET DEFAULT SCROLL HALF;
SET DEFAULT VIEW コマンド
アセンブラー・コンパイル単位のデフォルト・ビューを制御します。
- STANDARD
- アセンブラー CU に LOADDEBUGDATA (LDD) コマンドが出されるたびに、
初期ビューにすべてのソース・ステートメントが表示されることを示します。
- NOMACGEN
- アセンブラー CU に LOADDEBUGDATA (LDD) コマンドが出されるたびに、
マクロ展開によって生成されなかったソース・ステートメントのみが初期ビューに表示されることを示します (PRINT NOGEN が有効な場合のアセンブラー・リストと同様)。
使用上の注意
- SET DEFAULT VIEW は、アセンブラー・コンパイル単位にのみ適用されます。
- このコマンドはリモート・デバッグ・モードで使用できます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET DEFAULT WINDOW コマンド (フルスクリーン・モード)
ウィンドウ参照コマンド (例えば、FIND、SCROLL、または WINDOW) が、明示的なウィンドウ識別を行わずに発行され、カーソルが物理ウィンドウ域の外にあるときに、どの物理ウィンドウを選択するかを指定します。初期設定値は SOURCE です。
- LOG
- セッション・ログ・ウィンドウを選択します。
- MEMORY
- メモリー・ウィンドウを選択します。
- MONITOR
- モニター・ウィンドウを選択します。
- SOURCE
- ソース・リスト・ウィンドウを選択します。
例
デフォルトをスクロール・コマンドで使用するモニター・ウィンドウに設定します。
SET DEFAULT WINDOW MONITOR;
SET DISASSEMBLY コマンド
逆アセンブルされたコンパイル単位は、TEST コンパイラー・オプションを指定してコンパイルされず、また LOADDEBUGDATA コマンドのオペランドとして使用されていない CU です。SET DISASSEMBLY
ON コマンドにより、逆アセンブルされたコンパイル単位の次の動作が使用可能になります。
- 逆アセンブルされたコンパイル単位を限定するたびに、ソース・ウィンドウに逆アセンブリー・ビューが表示されます。 コンパイル単位 (CU) にブレークポイントを設定するには、AT OFFSET コマンドを使用し、CU 内でステップスルーするには STEP コマンドを使用します。
- 逆アセンブリー CU を停止するには、次のコマンドを使用します。
- AT APPEARANCE *
- AT APPEARANCE name
- AT ENTRY *
- STEP INTO
- 逆アセンブルされたコンパイル単位の名前を表示するには、次のコマンドを使用します。
- DESCRIBE CUS
- LIST
- LIST NAMES CUS
- QUERY SOURCE
- ON
- ソース・ウィンドウに逆アセンブル表示を表示することを指定します。
- OFF
- 逆アセンブル表示をオフにします。これがデフォルト設定です。
使用上の注意
- 逆アセンブル表示は、逆アセンブルされたプログラムまたはデバッグ情報を持たないサポート言語で作成されたプログラムにのみ提供されています。
- このコマンドはリモート・デバッグ・モードで使用できます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET DYNDEBUG コマンド
動的デバッグ機能をアクティブにするか、非アクティブにするかを制御します。
以下のタイプのプログラムをデバッグするには、動的デバッグ機能がインストールされ、
アクティブにされている必要があります。
- TEST コンパイラー・オプションの
NONE または NOHOOK サブオプションを指定してコンパイルされた COBOL プログラム
- Enterprise PL/I for z/OS バージョン 3 リリース 4 以降で、TEST コンパイラー・オプションの NOHOOK サブオプションを指定してコンパイルされた PL/I プログラム。
- アセンブラー・プログラム
- 逆アセンブルされたプログラム (逆アセンブル・ビューを使用)
- 非言語環境プログラム COBOL プログラム1
- 言語環境プログラム・ランタイムなしで実行されるプログラム1
動的デバッグ機能を使用すると、プログラムをデバッグするときに、
コンパイルで挿入されたフック (COBOL、C/C++、および PL/I のコンパイラーでコンパイルされたもの)
を使用してプログラムのパフォーマンスを向上させることができます。
動的デバッグ機能がインストール済みの場合、初期設定は ON です。
未インストールの場合、初期設定は OFF で、動的デバッグ機能をアクティブにできません。
- ON
- 動的デバッグ機能をアクティブにします。
- OFF
- 動的デバッグ機能を非アクティブにします。
使用上の注意
- デバッグ・セッションでプログラムに動的デバッグ・フックを明示的または暗黙的に挿入した後では、SET DYNDEBUG OFF コマンドは使用できません。
- このコマンドはリモート・デバッグ・モードで使用できます。
- Enterprise COBOL for z/OS バージョン 4.1 の TEST コンパイラー・オプションの NOHOOK サブオプションを使用して、動的デバッグ機能付きでコンパイルされた COBOL プログラムをデバッグできます。
- TEST(NONE) コンパイラー・オプションを指定してコンパイルした COBOL プログラムをデバッグし、動的デバッグ機能を使用するには、以下のコンパイラーのいずれかを使用してコンパイルする必要があります。
- Enterprise COBOL for z/OS and OS/390 バージョン 3
- COBOL for OS/390 & VM、バージョン 2 リリース 2
- COBOL for OS/390 & VM バージョン 2 リリース 1、APAR PQ40298 適用
- COBOL プログラムでは、以下の状態の場合に GOTO または JUMPTO コマンドを使用できます。
- コンパイラーによって挿入されたフックを使用してコンパイルされた COBOL プログラム。Enterprise COBOL for z/OS バージョン 4.1 を使用する場合は、TEST コンパイラー・オプションの HOOK サブオプションを使用してプログラムをコンパイルします。以下のいずれかのコンパイラーを使用する場合は、TEST コンパイラー・オプションの PATH または ALL サブオプションと SYM サブオプションを使用してプログラムをコンパイルします。
- Enterprise COBOL for z/OS and OS/390 バージョン 3
- COBOL for OS/390 & VM バージョン 2
- コンパイラーによって挿入されたフックを使用せず、また最適化を使用しないでコンパイルされた COBOL プログラム。Enterprise COBOL for z/OS バージョン 4.1 を使用する場合は、TEST コンパイラー・オプションの NOHOOK サブオプションを使用してプログラムをコンパイルします。以下のいずれかのコンパイラーを使用する場合は、TEST コンパイラー・オプションの NONE サブオプションを使用してプログラムをコンパイルします。
- Enterprise COBOL for z/OS and OS/390 バージョン 3 リリース 2 以降
- Enterprise COBOL for z/OS and OS/390 バージョン 3 リリース 1、APAR PQ63235 適用
- COBOL for OS/390 & VM バージョン 2 リリース 2
- COBOL for OS/390 & VM バージョン 2 リリース 1 (APAR PQ63234 インストール済み)
- コンパイラーによって挿入されたフックを使用せず、最適化を使用してコンパイルされた COBOL プログラム。Enterprise COBOL for z/OS バージョン 4.1 を使用してプログラムをコンパイルする必要があり、TEST コンパイラー・オプションの EJPD および NOHOOK サブオプションを指定します。
EJPD サブオプションを指定すると、最適化の一部が失われる場合があります。
- 動的デバッグ機能は、コンパイラーの次のサブオプションを使用してコンパイルされたプログラムでのアテンション割り込みをサポートしません。
- 以下のコンパイラーの TEST コンパイラー・オプションの NOHOOK サブオプション。
- Enterprise COBOL for z/OS バージョン 4.1
- Enterprise PL/I for z/OS バージョン 3.4 以降
- 以下のコンパイラーの TEST コンパイラー・オプションの NONE サブオプション
- Enterprise COBOL for z/OS and OS/390 バージョン 3
- COBOL for OS/390 & VM バージョン 2
- 以下のコンパイラーを、コンパイルで挿入するフックを追加する TEST コンパイラー・オプションのサブオプションを指定して使用すると、動的デバッグ機能を使用して実行時にフック
(Debug Tool がコンパイルで挿入するフックの代わりに使用します) を追加することができます。
こうすることで、Debug Tool の制御の下で実行する際にプログラムのパフォーマンスを向上させることができます。
- Debug Tool がサポートする任意の COBOL コンパイラー
- Debug Tool がサポートする任意の C/C++ コンパイラー
- Debug Tool がサポートする任意の PL/I コンパイラー
- ご使用のシステムに動的デバッグ機能がインストール済みかどうかを判別するには、システム管理者に問い合わせてください。
- 異なる TEST オプションを使用してコンパイルされた同じプログラムは、異なる場所で実行を停止することも、同じシナリオで実行を停止することもあります。例えば、TEST(ALL,...) を使用してプログラムをコンパイルし、最初の 3 行をステップスルーすると、実行が 4 行目で停止します。しかし、同じプログラムを TEST(NONE,SYM,...) を使用してコンパイルし、最初の 3 行をステップスルーすると、実行は 5 行目で停止します。この違いは、コンパイラーによって使用される最適化手法によります。
小さな矢印は、同じプログラムが 2 つの異なる方法でコンパイルされた場合に Debug Tool が停止する場所を示します。
| TEST(ALL) でコンパイルされたプログラム |
TEST(NONE) でコンパイルされたプログラム |
| 000001 MOVE... |
000001 MOVE... |
| 000002 ADD... |
000002 ADD... |
| >000003 LABEL: ... |
000003 LABEL: ... |
| 000004 MOVE... |
>000004 MOVE... |
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET ECHO コマンド
GO および STEP コマンドがサブコマンドでない
ときに、それらがログ・ウィンドウに記録されるかどうかを制御します。一連の GO および STEP コマンドが長く続くと、ログ・ウィンドウが混乱して、わずかな追加情報しか表示されません。SET ECHO を使用すれば、これらのコマンドの表示を抑止することができます。ログ・ファイルの内容には影響はありません。初期設定値は ON です。
- ON
- ログ・ウィンドウに、指定されたコマンドを表示します。
- OFF
- ログ・ウィンドウでの、指定されたコマンドの表示を抑止します。
- keyword
- GO (オペランドなし) または STEP のいずれかにする
ことができます。
- *
- このコマンドが GO コマンドと STEP コマンドに
適用されることを指定します。これはデフォルトです。
例
- GO コマンドおよび STEP コマンドの表示を抑止することを
指定します。
SET ECHO OFF;
- GO コマンドと STEP コマンドを表示するように指定します。
SET ECHO ON *;
SET EQUATE コマンド
記号と文字ストリングを等価にします。キーワード、ID、または句読点が Debug Tool コマンド内で使用されているどの場所にも、同等の記号を使用
することができます。等価記号が Debug Tool コマンド (SET EQUATE と
CLEAR EQUATE の identifier オペランド以外) で検出
されると、その等価記号は指定のストリングに置き換えられ、その上で、解析が
続けられます。
- identifier
- 現行のプログラム言語で有効な ID を記入します。ID の最大長は、次のとおりです。
- C では、32 バイトの SBCS 文字。
- COBOL および非言語環境プログラム COBOL では、30 バイトの SBCS 文字。
- PL/I では、31 バイトの SBCS 文字。
ID には DBCS 文字を含むことができます。
- string
- 現行のプログラム言語内のストリング定数を記入します。置き換えストリングの最大長は、255 SBCS 文字です。
使用上の注意
- 以下のコマンドのオペランドは、標準 Debug Tool 環境 (つま
り、TSO DS 名など) 以外の環境用であり、EQUATE された記号置換についてスキャンされません。
- COMMENT
- INPUT
- SET DEFAULT LISTINGS
- SET INTERCEPT ON/OFF FILE
- SET LOG ON FILE
- SET SOURCE (cu_spec)
- SYSTEM/SYS
- TSO
- USE
- EQUATE 定義を除去する場合、CLEAR EQUATE コマンドを
使用します。
- 現行のプログラム言語設定値を変更するときにアクセス可能なままにしておくには、現行の
プログラム言語設定値が C であるときに等価にされる記号が、大文字で入力されなければならず、かつ
別のプログラム言語で有効でなければなりません。
- EQUATE ID が既存のキーワードまたはキーワード省略形と一致する
場合、EQUATE が優先します。EQUATE ID があらかじめ定義されている場合、古い定義が新しい定義と置き換わります。
- EQUATE ストリングは、以前に SET EQUATE コマンドで設定された記号に対しては、スキャンされず、置き換えも行われません。
例
- 記号 INFO を、"ABC, DEF (H+1)" と等価になる
よう指定します。現行のプログラム言語の設定は、C または COBOL のいずれかです。
SET EQUATE INFO = "ABC, DEF (H+1)";
- 記号 tstlen が構造体位置指定のための、#define の等価と等しくなるように指定します。現行のプログラム言語の設定は C です。
上記の小文字の記号は、プログラム言語が変更されると、アクセス可能ではなくなる場合があります。
SET EQUATE tstlen = "struct1->member.b->c.len";
- 記号 VARVALUE がコマンド LIST x と等価になるように
指定します。
SET EQUATE VARVALUE = "LIST x";
SET EXECUTE コマンド
すべての入力ソースからのコマンドが実行されるのか、あるいは構文チェックだけが
行われる (主に、USE ファイルを検査するため) だけなのかを
制御します。初期設定値は ON です。
- ON
- コマンドが受け入れられて、実行されるように指定します。
- OFF
- コマンドを受け入れ、解析するように指示します。ただし、次のコマンドだけは、実行されます。END、GO、SET EXECUTE ON、QUIT、および USE のみです。
例
すべてのコマンドが受け入れられて、実行されるように指定します。
SET EXECUTE ON;
SET FIND BOUNDS コマンド
カラム情報を指定しない行モードでソース・ウィンドウでの、FIND コマンドのデフォルトの左方または右方のカラムを指定します。
ログ・ウィンドウおよびモニター・ウィンドウでは無視されます。
- leftcolumn
- 検索の左端のカラムを指定する正整数。
これは、ソース・ウィンドウで、行モードの場合のみサポートされます。ログ・ウィンドウおよびモニター・ウィンドウでは無視されます。
- rightcolumn
- 検索の右端のカラムを指定する正整数。
これは、ソース・ウィンドウで、行モードの場合のみサポートされます。ログ・ウィンドウおよびモニター・ウィンドウでは無視されます。
- *
- 各ソース・レコードの長さを検索の右方カラムとして使用することを指定します。これは、ソース・ウィンドウで、行モードの場合のみサポートされます。ログ・ウィンドウおよびモニター・ウィンドウでは無視されます。
使用上の注意
- SET FIND BOUNDS が設定されていない場合、デフォルトは、leftcolumn は 1、rightcolumn は * です。
- オペランドを指定しないで SET FIND BOUNDS を入力すると、結果は、leftcolumn は 1、rightcolumn は * です。
- ソース・ウィンドウまたは行モードで、FIND コマンドにカラム境界を指定しないと、SET FIND
BOUNdS コマンドで設定された境界が FIND コマンドに使用されます。
例
COBOL の領域 B から 2 つの異なるストリング (paraa と variable-b) を検索する場合は、まず次のコマンドを入力して検索の境界を設定します。
SET FIND BOUNDS 12 72;
次に、以下の FIND コマンドを入力して 2 つのストリングを検索します。
FIND paraa;
FIND variable-b;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET FREQUENCY コマンド
ステートメントの実行回数をカウントするか否かを制御します。初期設定値は OFF です。
- ON
- ステートメントの実行回数をカウントするように指定します。
- OFF
- ステートメントの実行回数をカウントしないように指定します。
- cu_spec
- 有効なコンパイル単位の指定。このオペランドが省略されると、ステートメント情報のすべてのコンパイル単位が処理されます。
使用上の注意
- 逆アセンブル表示では、SET FREQUENCY はサポートされません。
- 頻度データの収集によって相当量のオーバーヘッドが追加される可能性があるため、SET FREQUENCY コマンドを ON に設定するのは、このデータを利用する必要がある場合に限ってください。
このデータを利用する必要がないデバッグ・セッションでは、SET FREQUENCY
コマンドを型どおりに ON に設定しないでください。
- PLAYBACK ENABLE コマンドの DATA オプションが現行のコンパイル単位に対して有効な場合、記録されたステートメントを PLAYBACK コマンドを使用して再生する間に SET FREQUENCY コマンドを使用することができます。
例
ステートメント実行が、コンパイル単位 main および subr1 でカウントされる
ように指定します。
SET FREQUENCY ON (main, subr1);
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET HISTORY コマンド
Debug Tool への入力がヒストリー・テーブルに記録されるかどうかを指定し、オプションでそのテーブルのサイズを調整します。ヒストリー・テーブルには、最新処理のブレークポイントと条件に関する情報が入っています。初期設定値は ON で、初期サイズは 100 です。
- ON
- 呼び出しのヒストリーを維持します。
- OFF
- 呼び出しのヒストリーを抑止します。
- integer
- ヒストリー・テーブルに保持されている記入データの数を指定します。
使用上の注意
- ヒストリーは、逆アセンブル・コンパイル単位については収集されません。
例
- ヒストリー・テーブル・サイズを 50 行に調整します。
SET HISTORY 50;
- ヒストリーの記録をオフにします。
SET HISTORY OFF;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET IGNORELINK コマンド
設定が ON のときに、新規のリンク・レベル (ネストされたエンクレーブ) を無視することを指定します。Debug Tool は、この新たに作成されたエンクレーブでは、情報を収集しないか、またはエンクレーブ内のプログラムで停止しません。初期設定値は OFF です。
- ON
- 新規エンクレーブ (リンク) のプログラムは無視されます。Debug Tool は、新規エンクレーブのプログラムで停止しません。
- OFF
- 新規エンクレーブ (リンク) のプログラムは無視されません。Debug Tool は、新規エンクレーブのプログラムの任意のブレークポイントで停止します。
使用上の注意
- 新規エンクレーブは、EXEC LINK または EXEC XCTL のような言語構造体で作成され、これにより新しいメインプログラムが起動されます。
- このコマンドは、CICS プログラムでのみ有効です。
- このコマンドはリモート・デバッグ・モードで使用できます。
- DTCN または CADP プロファイルで、SET IGNORELINK の設定値がオーバーライドされます。
- STEP INTO コマンドを使用して新規エンクレーブにステップイントゥすることができます。これにより SET IGNORELINK 設定値がオーバーライドされます。しかし、SET IGNORELINK の設定値は変更されません。
- STEP RETURN コマンドを使用すると、親エンクレーブが Debug Tool によって無視されていなかった場合に、親エンクレーブに戻ることだけができます。これは、作成された時点の SET IGNORELINK の設定値が OFF であったからです。そうでない場合、Debug Tool は、Debug Tool が無視しなかった以前のエンクレーブの次のブレークポイントまで実行するか、またはアプリケーションの最後まで実行します。
- DISABLE DTCN、ENABLE DTCN、DISABLE CADP、および ENABLE CADP コマンドは、SET IGNORELINK の設定値をオーバーライドします。これにより新規エンクレーブをデバッグできますが、SET IGNORELINK の設定値は変更されません。
- SET IGNORELINK の設定値が ON の場合は、新規エンクレーブ内のコンパイル単位ではブレークポイントは復元されません。
- SET IGNORELINK の設定値が ON の場合、Debug Tool は、新規エンクレーブ内のコンパイル単位の据え置き入り口ブレークポイントでは停止しません。
- SET IGNORELINK の設定値が ON の場合、Debug Tool は、新規エンクレーブ内のどのブレークポイントでも停止しません。
- SET IGNORELINK の設定値に関係なく、アプリケーションで発生した状態は報告されます。
- このコマンドを設定ファイル、コマンド・ファイル、またはグローバル設定ファイルで使用して、新たなデバッグ・セッションが開始されるたびにこのコマンドが実行されるようにすることができます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET INTERCEPT コマンド (C および C++)
指定したファイルへの入力、ファイルからの出力をインターセプトします。出力と入力に対するプロンプトは、ログに表示されます。
連続している入出力だけをインターセプトできます。入出力インターセプトは、
SET INTERCEPT OFF コマンドを入力して終了させない限り、
デバッグ・セッション全体に有効なままです。初期設定値は OFF です。
- ON
- 指定したファイルの入出力インターセプトをオンにします。出力はログに表示され、その前に、識別のためのファイル指定子が付いています。入力では、識別されたファイル指定子とともに、ログ内にプロンプト項目が出されます。その後で、INPUT コマンドを使用して、コマンド行に指定されたファイルの
入力を行うことができます。
- OFF
- 指定したファイルの入出力インターセプトをオフにします。
- FILE file_spec
- stdin、stdout、または stderr を含む有効な fopen() ファイル指定子。FILE キーワードを省略することはできません。
使用上の注意
- インターセプトされたストリームまたはファイルは、ネストされたエンクレーブの実行中に C の入出力リダイレクトの対象にはなりません。
- SET INTERCEPT コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
fopen() ファイル指定子 dd:mydd の入出力インターセプトをオンにします。現行のプログラム言語の設定は C です。
SET INTERCEPT ON FILE dd:mydd;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET INTERCEPT コマンド (COBOL、フルスクリーン・モード、ライン・モード、バッチ・モード)
コンソールへの入力およびコンソールからの出力をインターセプトします。
出力と入力に対するプロンプトは、ログに表示されます。
コンソール入出力インターセプトは、SET INTERCEPT OFF コマンドを入力して終了させない限り、
デバッグ・セッション全体に有効なままです。初期設定値は OFF です。
- ON
- コンソールの入出力インターセプトをオンにします。Debug Tool は、
識別のために CONSOLE キーワードを前に付けた出力を、ログに表示します。
入力によって、CONSOLE と識別されたプロンプト項目がログに出されます。
次に、INPUT コマンドを使用して、コマンド行に、コンソール用の入力データを入力できます。
- OFF
- コンソールの入出力インターセプトをオフにします。
- CONSOLE
- コンソールの入出力インターセプトをオンまたはオフにします。
これは、以下から構成されます。
- DISPLAY UPON CONSOLE からのジョブ・ログ出力
- STOP 'literal' からの画面出力 (および確認入力)
- ACCEPT FROM CONSOLE または ACCEPT FROM SYSIN の端末入力
使用上の注意
- CICS では、SET INTERCEPT はサポートされません。
- SET INTERCEPT コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
コンソールの入出力インターセプトをオンにします。現行のプログラム言語の設定は COBOL です。
SET INTERCEPT CONSOLE;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET INTERCEPT コマンド (COBOL、リモート・デバッグ・モード)
COBOL DISPLAY ステートメントからの出力をインターセプトします。
出力はデバッグ・コンソールに表示されます。出力インターセプトは、
SET INTERCEPT OFF コマンドを入力して終了させない限り、
デバッグ・セッション全体に有効なままです。初期設定値は OFF です。
- ON
- 出力インターセプトをオンにします。出力はデバッグ・コンソールに表示されます。
- OFF
- 出力インターセプトをオフにします。
例
コンソールの出力インターセプトをオンにします。
SET INTERCEPT ON;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET KEYS コマンド (フルスクリーン・モード)
SCREEN 設定が ON のときに、PF キー定義が
表示されるように制御します。初期設定値は ON です。
- ON
- PF キー定義を表示します。
- OFF
- PF キー定義の表示を抑止します。
- 12
- 画面の下に PF1 から PF12 までを示します。
- 24
- 画面の下に PF13 から PF24 までを示します。
例
PF キー定義の表示が抑止されるように指定します。
SET KEYS OFF;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET LDD コマンド
複数の CSECT を含むアセンブリーのデバッグ・データをロードする方法を制御します。
初期設定値は SINGLE です。
- SINGLE
- 他の CSECT を使用してアセンブルされた CU のデバッグ・データをロードする後続の LOADDEBUGDATA (LDD) コマンドが、
指定された CU のみに関するデバッグ・データをロードすることを示します。
- ALL
- 他の CSECT を使用してアセンブルされた CU のデバッグ・データをロードする後続の LOADDEBUGDATA (LDD) コマンドが、
アセンブリー内のすべての CU に関するデバッグ・データをロードすることを示します。
使用上の注意
- このコマンドは、据え置きと非据え置きの両方の LDD コマンドに影響します。
- LDD のターゲットが非言語環境プログラム COBOL CU の場合、このコマンドは無効です。
- SET LDD ALL が有効な場合に、次の作業を行うときは、
以前に LDD コマンドを入力したときのアセンブリー内の CU ごとに個別の SET SOURCE コマンドを
入力する必要があります。
- 同じアセンブリー内の複数の CU に対して 1 つの LDD コマンドを入力します。
- これらの CU に関するデバッグ・データが見つからなかったとします。
- 続いて、これらの CU の 1 つに対して SET SOURCE コマンドを入力します。
- このコマンドはリモート・デバッグ・モードで使用できます。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET LIST TABULAR コマンド
LIST コマンドの出力を表形式でフォーマット設定するかどうかを制御します。
デフォルトの設定値は OFF です。
- ON
- LIST コマンドの出力を表形式で表示します。
- OFF
- LIST コマンドの出力を線形フォーマットで表示します。
これがデフォルト設定です。
SET LOG コマンド
実行された各コマンドとその結果の出力をログ・ファイルに書き込み、使用されるファイルを定義 (あるいは
再定義) するかどうかを制御します。初期設定値は ON FILE INSPLOG です。これは、z/OS で有効な DD 名です。
- ON
- コマンドと出力がログ・ファイルに書き込まれるように指定します。
- FILE fileid
- 使用されるログ・ファイルを識別します。FILE キーワードを省略することはできません。
CICS 以外では、fileid は DD 名または完全修飾データ・セット名です。
区分データ・セットは使用できません。
CICS では、fileid は完全修飾データ・セット名です。
fileid の形式が DD 名の場合、Debug Tool は、そのファイルが割り振られているかどうかを確認します。
フルスクリーン・モードでは、ログ・ファイルを 3270 端末へ割り振ってはいけません。
- OLD
- 指定されたファイル内の既存の情報を新規情報で置き換えることを指定します。fileid に DD 名を指定すると、このオペランドは無視されます。
- MOD
- 新規情報を、指定されたファイル内の既存の情報の後に付加することを指定します。fileid に DD 名を指定すると、このオペランドは無視されます。
- KEEP count
- 表示に保持されるログ出力の行数を指定します。初期設定値は 1000 です。count をゼロ (0) には
設定できません。
- OFF
- コマンドと出力がログ・ファイルに書き込まれないように指定します。
使用上の注意
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET LOG NUMBERS コマンド (フルスクリーン・モード)
行番号が、ログ・ウィンドウに示されるかどうかを制御します。初期設定値は ON です。
- ON
- ログ・ウィンドウに行番号を表示します。
- OFF
- ログ・ウィンドウでの行番号の表示を抑止します。
例
ログ行番号を示さないように指定します。
SET LOG NUMBERS OFF;
SET LONGCUNAME コマンド
短い CU 名または長い CU 名を表示するかどうかを制御します。
- ON
- 長い CU 名を表示することを指定します。
- OFF
- 短い CU 名を表示することを指定します。
短い CU 名は、セッション・パネル・ヘッダー、ソース・ウィンドウ・ヘッダー域、
およびソース識別パネルに表示されます。
使用上の注意
例
- CU 名が SMITH.TEST.SRC(ARRAY3) である場合、短い名前は ARRAY3 です。
- CU 名が SMITH.TEST.SOURCE.ABCD である場合、短い名前は ABCD です。
- CU 名が /testenvir/applications/cicsprograms/project1/prog2.cpp である場合、短い名前は prog2.cpp です。
SET MDBG コマンド
.mdbg ファイルを 1 つのロード・モジュールまたは DLL に関連付けます。
- lm_spec
- 有効なロード・モジュールまたは DLL の名前。
- fileid
- ロード・モジュールまたは DLL のデバッグ情報が入っている .mdbg ファイルを指定します。
z/OS では、fileid は DD 名、
完全修飾区分データ・セットとメンバーの名前、順次ファイル、または HFS パスとファイルの名前です。
CICS では、fileid は、完全修飾のデータ・セット名、または HFS パスおよびファイル名です。
fileid が 9 文字長より小さく、ピリオドが含まれていない場合、Debug Tool はそれを DD 名と想定します。
Debug Tool は、それが割り振られているかどうかを検査します。
割り振られていない場合、Debug Tool は fileid がデータ・セット名であると想定します。
使用上の注意
- このコマンドを使用するには、「Debug Tool カスタマイズ・ガイド」の説明に従って、EQAXOPT MDBG オプションを EQAOPTS オプション・ファイルで YES に設定する必要があります。
環境変数をサポートする環境では、EQA_USE_MDBG 環境変数を使用して、特定のデバッグ・セッションのためにこのオプションをオーバーライドできます。
- このコマンドは、
取り込まれたソースを含むデバッグ情報が入る .mdbg ファイルが作成されている場合に使用できます。
- 取り込まれたソースを含むデバッグ情報が入る .mdbg ファイルは、
z/OS XL C/C++、バージョン 1.10 以降を使用してプログラムをコンパイルする場合にのみ作成できます。
- Debug Tool は、
アプリケーションがロード・モジュールまたは DLL をロードするまで、fileid に指定されている .mdbg ファイルを検索しません。
次に、どのような場合に Debug Tool が .mdbg ファイルを検索するかについて例をいくつか示します。
- SET MDBG コマンドを入力し、さらに、
現在実行中のロード・モジュールまたは DLL を lm_spec に指定した場合、Debug Tool は即時に fileid に指定されている .mdbg ファイルを検索します。
Debug Tool は、ファイルを検出できない場合、エラー・メッセージを表示します。
- SET MDBG コマンドをコマンド・ファイルに指定します。
ユーザーのアプリケーションが、そのロード・モジュールまたは DLL にある機能を呼び出すと、Debug Tool が .mdbg ファイルを検索します。
Debug Tool は、ファイルを検出できない場合、エラー・メッセージを表示します。
- SET MDBG コマンドを入力し、次に、
そのロード・モジュールまたは DLL の AT LOAD ブレークポイントを設定します。
Debug Tool は、そのブレークポイントに到達すると、.mdbg ファイルを検索します。
Debug Tool は、ファイルを検出できない場合、エラー・メッセージを表示します。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET MONITOR コマンド
モニター・ウィンドウに表示される変数の名前と値のフォーマットおよびレイアウトを制御します。
- COLUMN
- 出力をモニター・ウィンドウに列形式で表示するかどうかを制御します。
初期設定は SET MONITOR COLUMN ON です。SET MONITOR COLUMN はバッチ・モードでも受け入れられますが、効果はありません。
- DATATYPE
- 変数のデータ型をモニター・ウィンドウに表示するかどうかを制御します。
初期設定は SET MONITOR DATATYPE OFF です。
- LIMIT integer
- Debug Tool がモニター・ウィンドウに表示するスクロール可能な行数を制御します。integer のデフォルト値は 1000 です。
別の値を指定する場合は、1000 より大きい値でなければなりません。
- NUMBERS (フルスクリーン・モード)
- 行番号をモニター・ウィンドウに表示するかどうかを制御します。
初期設定は SET MONITOR NUMBERS ON です。
- WRAP
- モニター・ウィンドウで出力を折り返すかどうかを制御します。
初期設定は SET MONITOR WRAP ON です。SET MONITOR WRAP はバッチ・モードでも受け入れられますが、効果はありません。
- ON
- 対応するスイッチを次の値に設定します。
- COLUMN
- モニター・ウィンドウ出力を列で位置合わせした形式で表示します。
- DATATYPE
- 変数のデータ型属性をモニター・ウィンドウに表示します。
- NUMBERS
- 行番号をモニター・ウィンドウに表示します。
- WRAP
- モニター・ウィンドウでモニター値領域変数を折り返します。
- OFF
- 対応するスイッチを次の値に設定します。
- COLUMN
- モニター・ウィンドウ出力を列で位置合わせしない形式で表示します。
- DATATYPE
- 変数のデータ型属性をモニター・ウィンドウに表示しません。
- NUMBERS
- 行番号をモニター・ウィンドウに表示しません。
- WRAP
- 変数の名前と値をモニター・ウィンドウの同一行に表示します。
値が長すぎてモニター・ウィンドウに表示できない場合、領域はスクロール可能になります。
使用上の注意
SET MONITOR COLUMN スイッチが OFF に設定されているときに SET MONITOR WRAP OFF コマンドが入力された
場合、Debug Tool は、MONITOR COLUMN の設定が ON のときにスクロール可能な 1 行にある値のみを表示することができるため、コマンドは
拒否されます。
最初に SET MONITOR COLUMN ON コマンドを入力する必要があります。
SET MONITOR WRAP が OFF に設定されているときに SET MONITOR COLUMN OFF コマンドが入力されると、コマンドは
拒否されます。
スクロール可能な 1 行にある値を表示するためには、モニター・ウィンドウが縦欄の形式になっている必要があります。
最初に SET MONITOR WRAP ON コマンドを入力する必要があります。
大量のデータをモニターするには大量のストレージが必要になる場合があり、サイトによって問題が生じることがあります。
大規模なデータ項目をモニターする場合または多数のエレメントを含むデータ項目をモニターする場合は、
十分なストレージがあることを確認してください。
例
- モニター・ウィンドウに行番号を表示しないように指定するには、次のコマンドを入力します。
SET MONITOR NUMBERS OFF;
- 変数値を次の行に折り返さないように指定するには、次のコマンドを入力します。
SET MONITOR WRAP OFF;
SET MSGID コマンド
Debug Tool のメッセージにメッセージ接頭語 ID を付けて表示するか否かを制御します。初期設定値は OFF です。
- ON
- メッセージ ID を表示します。メッセージの最初の 7 文字は、メッセージ接頭語 ID EQAnnnn であり、その次は 1 つのブランク、そして最後に従来のメッセージ・テキスト
です (例えば、「EQA2222 プログラムが存在しません。」など)。
- OFF
- メッセージ・テキストだけを表示します。
例
メッセージ ID の表示が抑止するように指定します。
SET MSGID OFF;
SET NATIONAL LANGUAGE コマンド
アプリケーションを異なる実行時の各国語に切り替えて、メッセージが表示されるときにどの翻訳版を使用するかを決めます。この切り替えは、実行時環境全体で有効であり、Debug Tool の活動だけに限定されません。初期設定値は、現行のエンクレーブの設定に従って、言語環境プログラムまたは NATLANG Debug Tool ランタイム・オプションによって提供されます。
- language_code
- 使用される言語を識別する有効な 3 文字のセット、あるいは (互換性
を持たせるために) C/370™ と PL/I の INSPECT の以前のリリースで受け入れられた 2 文字
の言語コードの 1 つです。言語コードには、以下の値のいずれかを指定することができます。
- 米国英語: ENU
- 米国英語 (大文字): UEN
- 日本語: JPN
- 韓国語: KOR
- SET DBCS ON コマンドを入力すると、各国語を ENU に設定しても、Debug Tool は各国語を UEN に
再設定して、DBCS 文字との互換性を保ちます。
C/370 と PL/I の INSPECT の以前のリリースとの互換性については、以下のとおりです。
- EN または ENGLISH が ENU にマップされます。
- UE または UENGLISH が UEN にマップされます。
- JA、JAPANESE、NI、また
は NIHONGO が JPN にマップされます。
使用上の注意
- フルスクリーン・モードで DBCS 文字を正しく
表示させるには、VTAM® 属性バイトの
言語フィールドの高位ビットが ON に設定されていなければなりません。
このビットが ON に設定されていることを検査するには、次のようにします。
- ISPF で、オプション 0 (設定) を選択します。
- コマンド行に、environ と入力します。
- Tab を押して、端末状況 (TERMSTAT) セクションへ進みます。使用可能フィールドで、2 (端末情報照会) を入力します。
- 統計のページがいくつか表示されます。GTTERM 情報セクションで、属性バイト・フィールドの 2 番目のバイト内の高位ビット値に注目します。このビット値が 1 (ON) でなければなりません。例えば、属性バイト・フィールドの値が x'008000C9' の場合、2 番目の
バイトが X'80' であるため、DBCS 文字は正しく表示されます。
ただし、属性バイト・フィールドの値が x'000000C9' の場合、DBCS 文字は正しく表示されません。
VTAM 属性バイトの言語フィールドの高位ビットを 1 (ON) に設定するには、VTAM システム管理者にお問い合わせください。
- SET NATIONAL LANGUAGE コマンドを使用して選択された言語は、アプリケーションと Debug Tool の両方に影響を与えます。
- エンクレーブの開始時点では、設定値は、言語環境プログラム、オペレーティング・システム、または NATLANG Debug Tool ランタイム・オプションによって提供されたものになっています。
ネストされたエンクレーブの場合、子エンクレーブから戻ると、親の設定が復元されます。
- NATIONAL LANGUAGE を JPN または KOR に設定し、フルスクリーン・モードを使用している場合、SET DBCS
ON コマンドを入力して、Debug Tool がメッセージを正しく表示できるようにします。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET PACE コマンド
1 秒当たりのステップでの、アニメーション実行の最大のペースを指定します。初期設定値は、1 秒当たり 2 ステップです。この設定は、バッチ・モードではサポートされません。
- number
- 0 から 9999 までの 10 進数を指定します。0.5 の倍数でなければなりません。
使用上の注意
- CICS プログラムをデバッグする場合は、ペースを慎重に選択します。
アニメーションを実行開始後は、停止できない場合があります。対話式セッション中のアテンション割り込み要求の詳細については、「Debug Tool ユーザーズ・ガイド」を参照してください。
- STEP コマンドは、SET PACE コマンドと関連付けられます。アニメーション実行は、PACE を定義し、次に STEP n コマンド (ここ
で、n はアニメーション表示モードで表示されるステップ数) を出すことによって、実現
されます。STEP * を使用して、次のブレークポイントまでのすべてのステップをアニメーション・モードで観察できます。
- PACE を 0 に設定すると、アニメーション処理は行われません。
例
アニメーション実行のペースを、1 秒当たり 1.5 ステップに設定します。
SET PACE 1.5;
SET PFKEY コマンド
Debug Tool コマンドをプログラム・ファンクション・キー (PF キー) に関連付けます。この設定は、バッチ・モードではサポートされません。
- PFn
- 有効なプログラム・ファンクション・キー指定 (PF1 から PF24)。
- string
- ストリング定数として入力される PF キー表示 (KEYS 設定
が ON の場合) に示されるラベル。ストリングは、8 文字よりも長く指定されると、切り捨てられます。ストリングを省略すると、コマンドの最初の 8 文字が表示されます。C および C++ の場合、ストリングは引用符 (") で囲まれていなければなりません。COBOL、PL/I、アセンブラー、および逆アセンブルの場合、ストリングは引用符 (") かまたはアポストロフィ (') で囲むことができます。
- command
- 有効な Debug Tool コマンド、コマンドの一部または複数のコマンド。
複数のコマンドを指定する場合は、コマンドを引用符 (") で囲む必要があります。
使用上の注意
例
PF5 キーを定義して、カーソル選択ウィンドウを下方へスクロール
します。
- プログラム言語の設定が COBOL の場合。
SET PF5 "Down" = IMMEDIATE SCROLL DOWN;
- プログラム言語の設定が PL/I の場合。
SET PF5 'Down' = IMMEDIATE SCROLL DOWN;
- プログラム言語の設定が C++ の場合。
SET PF5 "Down" = IMMEDIATE SCROLL DOWN;
すべてのケースで、PF17 の設定は同じままです。
SET POPUP コマンド
以下の状態の場合にコマンド・ポップアップ・ウィンドウに表示される行数を制御します。
- 行数を指定せずに POPUP コマンドを入力する。
- コマンド行に継続文字または不完全なコマンドを入力したときに、Debug Tool がコマンド・ポップアップ・ウィンドウを開く。
- integer
- Debug Tool がコマンド・ポップアップ・ウィンドウを開くときの、ウィンドウの行数。
デフォルトの初期行数は 15 です。
関連
資料
SET PROGRAMMING LANGUAGE コマンド
現行のプログラム言語を設定します。現行のプログラム言語のみを、現在ロードされているプログラムの言語の選択に設定することができます。例えば、現行のロード・モジュールに C と COBOL の両方のコンパイル単位があり、PL/I のものはない
場合、言語を C または COBOL にのみ設定できます。しかし、後で、他のロード・モジュールに STEP または GO で
入り、そのロード・モジュールに C、 COBOL、および PL/I のコンパイル単位が
ある場合は、それらの 3 つの言語のどれに設定することもできます。
プログラム言語設定は、入力される Debug Tool コマンドの解析に影響を与えます。コマンドの実行は、コマンドの解析時に有効であった、現行のプログラム言語設定と一貫性があります。実行時のプログラム言語設定は無視されます。
- CYCLE
- プログラム言語を、サポートされた言語のアルファベット順で、順序どおりに設定するように指定します。
- AUTOMATIC
- プログラム言語が、現行の修飾にしたがって設定され、それ以降、その修飾が変更されるたびに、あるいは STEP または GO が出される
たびに自動的に変更されるように指定して、HOLD を
取り消します。
- HOLD
- 指定された言語 (あるいは、言語が指定されていない場合、現行の言語) が、修飾の変更に関係なく、そのまま有効であるように指定します。その言語は、SET PROGRAMMING LANGUAGE で言語を変更するか、あるいは保留を解放するまで、そのまま有効です。
- ASSEMBLER
- 現行のプログラム言語を ASSEMBLER に設定します。
- C
- 現行のプログラム言語を C に設定します。Debug Tool は、C と C++ を区別しないので、このオプションを、C++ プログラム
にも C プログラムにも使用してください。
- COBOL
- 現行のプログラム言語を COBOL に設定します。
- DISASSEMBLY
- 現行のプログラム言語を逆アセンブルに設定します。
- NONLECOBOL
- 現行のプログラム言語を非言語環境プログラム COBOL に設定します。
- PLI
- 現行のプログラム言語を PL/I に設定します。
使用上の注意
- CYCLE、または明示のプログラム言語名のうちの 1 つが指定される
場合、現行のプログラム言語設定値は、現在中断されているプログラムまたは
現行の修飾に関係なく、変更されます。
- 現行のプログラム言語設定値は、コマンドの実行ではなく、コマンドの解析に影響を与えます。コマンドは、常に、解析に使われたプログラム言語設定値に従って実行されます。例えば、Debug Tool プロシージャーに C と COBOL のコマンドを混合して使用することは
できません。プロシージャーが解析されても、プログラム言語の設定を変更する方法がなくなります。さらに、1 つのプログラム言語設定値で解析されるコマンドが、別のプログラム言語の、変数、タイプ、またはラベルを参照することはできません。
- SET PROGRAMMING LANGUAGE AUTOMATIC が有効な
場合 (すなわち、HOLD が有効でない場合)、修飾を変更することによって、現行のプログラム言語を、指定したブロックまたはコンパイル単位に自動的に
設定することができます。
- SET PROGRAMMING LANGUAGE を使用して、現在のエンクレーブあるいは
親のエンクレーブで、プログラム言語の設定をどのサポート言語にも設定できます。
例
C または C++ が現行のプログラム言語であるように指定します。
SET PROGRAMMING LANGUAGE C;
SET PROMPT コマンド (フルスクリーン・モード)
現行のプログラム位置を、行モードで、プロンプト・メッセージの部分として自動的に示すか否かを制御
します。この場合、現行の位置がパネル・ヘッダーに常に示されるので、フルスクリーン・モードでは有効ではありません。初期設定値は LONG です。
- LONG
- 長い形式のプロンプト・メッセージを使用します。
- SHORT
- 短い形式のプロンプト・メッセージを使用します。
例
長い形式のプロンプト・メッセージが使用されることを指定します。
SET PROMPT LONG;
SET QUALIFY コマンド
視点を、新しいブロック、コンパイル単位、またはロード・モジュールにリセットすることにより、参照
とステートメント番号の識別を単純化します。フルスクリーン・モードでは、これは、ソース・ウィンドウの内容に影響を与えます。現在ソース・ウィンドウに 1 つのコンパイル単位を表示しており、別のコンパイル単位を表示する場合は、SET QUALIFY を入力し、その修飾を変更します。SET キーワードはオプションです。QUALIFY キーワードは省略できます。
- BLOCK
- 現行の視点を、指定したブロックに設定します。
- block_spec
- 有効なブロック指定。
- CU
- 現行の視点を、指定したコンパイル単位に設定します。
CU は、PROGRAM と同等です。
- cu_spec
- 有効なコンパイル単位の指定。
- address
- CU 内の、限定したいアドレス。
- PROGRAM
- CU と同等です。
- LOAD
- 現行の視点を、指定したロード・モジュールに設定します。
- load_spec
- 有効なロード・モジュール指定。省略すると、初期 (1 次) ロード・モジュール修飾が使用されます。
- RESET
- 修飾を中断プログラムのブロックに
リセットして、(SCREEN 設定が ON の場合に) 現行のステートメント行を表示するためにソース・ウィンドウをスクロールします。
- RETURN
- 修飾を、次の上位呼び出し側プログラム側に切り替えます。
- UP
- 1 つの字句レベルより上の修飾を、静的な組み込みブロックに切り替えます。
使用上の注意
- SET PROGRAMMING LANGUAGE AUTOMATIC が有効な
場合 (すなわち、HOLD が有効でない場合)、修飾を変更することによって、現行のプログラム言語を、指定したブロックまたはコンパイル単位に自動的に
設定することができます。
- 複数のエンクレーブがあるプログラムをデバッグする場合、以下の項目に対してのみ SET QUALIFY コマンドを発行できます。
- Debug Tool で認識されていて、現行エンクレーブにあるロード・モジュール、コンパイル単位、およびブロック
- Debug Tool で認識されていないロード・モジュール、コンパイル単位、およびブロック
- 上位エンクレーブ内の非言語環境プログラム・アセンブラー・コンパイル単位
上位エンクレーブの一部であるロード・モジュールに対して SET QUALIFY コマンドを発行することはできません。
コンパイル単位が非言語環境プログラムのアセンブラーでない限り、上位エンクレーブ内のコンパイル単位に対して SET QUALIFY コマンドを発行することはできません。
- SET QUALIFY コマンドは、プログラムが GO コマンドで
再開されるときに、制御のフローの変更を暗黙指定しません。
- SET QUALIFY コマンドは、Debug Tool またはライブラリー・ブロックの
視点を修正することはできません。
- SET QUALIFY LOAD は QUERY QUALIFY の結果を変更しません。
- ロード・モジュール名なしの CU 名として cu_spec を指定した場合、Debug Tool は以下の順序で CU を検索します。
- 現在修飾されているロード・モジュール内の CU。
- 既知のすべての CU。
- 同じ名前のロード・モジュールにおける、指定した名前の CU。
- SET QUALIFY address を使用する場合、
address は、対応 CU 内のどのアドレスでもかまいません。
この形式は、メモリーにロード・モジュールの複数のコピーがある場合に、
再入不可ロード・モジュール内の 1 つの CU に限定したいときにとくに便利です。
- SET QUALIFY LOAD コマンドまたは SET QUALIFY CU コマンドを入力して、
Debug Tool に現在認識されていないロード・モジュールの名前を指定すると、Debug Tool は、
ロード・モジュールに対して暗黙の LOAD コマンドを実行します。
暗黙的な LOAD が正常に実行されると、次のタイプのプログラムについて暗黙的な CU が作成されます。
- COBOL および逆アセンブリー CU 以外のロード・モジュール内のすべての CU。
- SET DISASSEMBLY ON が有効な場合は、逆アセンブル CU
- ロード・モジュールのエントリー・ポイントが逆アセンブル・プログラムの場合、SET DISASSEMBLY の設定は無視されます。
暗黙的な CU を使用すれば、ブレークポイントの設定や CU のソースの参照など、デバッグ作業を行うことができます。
GO や STEP などのコマンドを入力してプログラムを実行すると、
暗黙的にロードされたモジュールは削除され、
暗黙的に作成された CU に作成されたブレークポイントは中断され、
暗黙的に作成された CU はすべて破棄されます。
通常のプログラム実行時に CU が後で作成されると、中断状態のブレークポイントは再活動化されます。
- SET QUALIFY LOAD または SET QUALIFY CU コマンドを使用して DLL を暗黙にロードすることはできません。
- CU が実行されていなかったためにまだ作成されていない COBOL CU の名前を指定する SET QUALIFY CU コマンドを入力すると、Debug Tool は暗黙の CU を作成します。 暗黙的な CU を使用すれば、ブレークポイントの設定や CU のソースの参照など、デバッグ作業を行うことができます。
GO や STEP などのコマンドを入力してプログラムを実行すると、
暗黙的に作成された CU に作成されたブレークポイントは中断され、
暗黙的に作成された CU はすべて破棄されます。
通常のプログラム実行時に CU が後で作成されると、中断状態のブレークポイントは再活動化されます。
- SET QUALIFY LOAD または SET QUALIFY CU コマンドを使用して COBOL プログラム用の暗黙的な CU を
作成するには、言語環境プログラム APAR PK30521 用の PTF が z/OS バージョン 1 リリース 6、バージョン 1 リリース 7、およびバージョン 1 リリース 8 にインストールされている必要があります。
- 言語環境プログラムがまだ活動状態にないエンクレーブで停止すると、SET QUALIFY LOAD または SET QUALIFY CU コマンドを
使用して言語環境プログラム・ロード・モジュールをロードすることまたは言語環境プログラム・コンパイル単位を作成することはできません。
言語環境プログラムが現行エンクレーブで初期化された後でのみ、これらのコマンドを使用して言語環境プログラム・ロード・モジュールをロードしたり言語環境プログラム・コンパイル単位を作成したりできます。
- SET QUALIFY CU と SET QUALIFY
LOAD コマンドは、リモート・デバッグ・モードで使用できます。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET REFRESH コマンド (フルスクリーン・モード)
画面の表示更新を制御します。このコマンドは、フルスクリーン・モードの場合にのみ、すなわち、SET SCREEN の設定値
が ON の場合にのみ有効です。REFRESH の初期設定値は OFF です。
- ON
- 画面の再書き込みのたびに、画面を消去します。アプリケーションが行モードの入出力を処理する場合、必須の設定値です。
- OFF
- 消去せずに再書き込みします。
使用上の注意
SET REFRESH ON は、画面を活用するアプリケーション、例えば、ISPF サービスを使用してパネルを表示するアプリケーションにも必要と
なります。
例
再書き込みが、変更した画面の部分だけに行われるように指定します。この画面は、再書き込みの前に消去されません。
SET REFRESH OFF;
SET RESTORE コマンド
設定、ブレークポイント、およびモニター指定の復元を制御します。
- SETTINGS
- SET 値と WINDOW SIZE および WINDOW CLOSE 設定が復元されることを示します。
以下の SET 値は復元されません。
- SET DBCS
- SET FREQUENCY
- SET NATIONAL LANGUAGE
- SET PROGRAMMING LANGUAGE
- SET RESTORE SETTINGS の FILE オペランド
- SET QUALIFY
- SET SOURCE
- SET TEST
- BPS
- ブレークポイントおよび LOADDEBUGDATA (LDD) 指定が復元されることを示します。
以下のブレークポイントが復元されます。
- APPEARANCE ブレークポイント
- CALL ブレークポイント
- DELETE ブレークポイント
- ENTRY ブレークポイント
- EXIT ブレークポイント
- GLOBAL APPEARANCE ブレークポイント
- GLOBALCALL ブレークポイント
- GLOBAL DELETE ブレークポイント
- GLOBAL ENTRY ブレークポイント
- GLOBAL EXIT ブレークポイント
- GLOBAL LABEL ブレークポイント
- GLOBAL LOAD ブレークポイント
- GLOBAL STATEMENT および GLOBAL LINE ブレークポイント
- LABEL ブレークポイント
- LOAD ブレークポイント
- OCCURRENCE ブレークポイント
- STATEMENT および LINE ブレークポイント
- TERMINATION ブレークポイント
- MONITORS
- モニターおよび LOADDEBUGDATA (LDD) 指定が復元されることを示します。
- NOAUTO
- Debug Tool の始動時に指定のデータが自動的に復元されないことを示します。
このデータは、RESTORE コマンドを入力して明示的に要求した場合にのみ復元されます。
AUTO が指定されるまで、NOAUTO がデフォルトです。
- AUTO
- 可能であれば、指定のデータ・セットを Debug Tool が始動時に自動的に復元することを示します。
使用上の注意
SET REWRITE コマンド (フルスクリーン・モード)
出力が長く続く場合は、定期的な画面再書き込みを強制します。
- number
- Debug Tool で画面の最新表示が行われる前に、アプリケーション・プログラムによって
書かれる、インターセプトされた出力の行数を指定します。初期設定値は 50 です。
例
画面出力の 100 行ごとの後に、画面再書き込みを強制します。
SET REWRITE EVERY 100;
SET REWRITE コマンド (リモート・デバッグ・モード)
リモート・デバッガーがデバッグ・コンソールに表示する COBOL DISPLAY ステートメントの最大数を設定します。
- number
- リモート・デバッガーがデバッグ・コンソールに表示する COBOL DISPLAY ステートメントの最大数を指定します。
初期設定値は 50 です。
使用上の注意
リモート・デバッガーが number より多く表示する必要がある場合は、
リモート・デバッガーは、最も古い DISPLAY ステートメントから削除を始めて、新しい DISPLAY ステートメントを表示できるようにします。
例
表示する COBOL DISPLAY ステートメントの最大数を 100 に設定します。次のようにします。
SET REWRITE 100;
SET SAVE コマンド
設定、ブレークポイント、およびモニター指定の保存を制御します。

- SETTINGS
- SET 値と WINDOW SIZE および WINDOW CLOSE 設定が保存されることを示します。
以下の SET 値は保存されません。
- SET DBCS
- SET FREQUENCY
- SET NATIONAL LANGUAGE
- SET PROGRAMMING LANGUAGE
- SET RESTORE SETTINGS の FILE オペランド
- SET QUALIFY
- SET SOURCE
- SET TEST
- BPS
- ブレークポイントおよび LOADDEBUGDATA (LDD) 指定が保存されることを示します。
以下のブレークポイントが保存されます。
- APPEARANCE ブレークポイント
- CALL ブレークポイント
- DELETE ブレークポイント
- ENTRY ブレークポイント
- EXIT ブレークポイント
- GLOBAL APPEARANCE ブレークポイント
- GLOBALCALL ブレークポイント
- GLOBAL DELETE ブレークポイント
- GLOBAL ENTRY ブレークポイント
- GLOBAL EXIT ブレークポイント
- GLOBAL LABEL ブレークポイント
- GLOBAL LOAD ブレークポイント
- GLOBAL STATEMENT および GLOBAL LINE ブレークポイント
- LABEL ブレークポイント
- LOAD ブレークポイント
- OCCURRENCE ブレークポイント
- STATEMENT および LINE ブレークポイント
- TERMINATION ブレークポイント
- MONITORS
- すべてのモニターおよび LOADDEBUGDATA (LDD) 指定が保存されることを示します。
- NOAUTO
- 指定された設定、ブレークポイント、または指定が Debug Tool の終了時に保存されないことを示します。
AUTO が指定されるまで、NOAUTO がデフォルトです。
- AUTO
- Debug Tool の終了時に指定のデータが可能な限り保存されることを示します。
- ONCE
- 設定情報が 1 回保存されることを示します。
設定情報は現行のデバッグ・セッションの終了時に保存されますが、SET SAVE SETTINGS について保管される値は NOAUTO です。
これにより、現行デバッグ・セッションの設定値を保存し、後続のデバッグ・セッションの終了時に設定値が更新されないようにすることができます。
- *
- 終了時に設定、ブレークポイント、モニター指定を保存するためにデフォルトのファイル名が使用されることを示します。
デフォルト名は、設定の場合、userid.DBGTOOL.SAVESETS であり、
ブレークポイントおよびモニター指定の場合、userid.DBGTOOL.SAVEBPS です。
デフォルト名を変更するには、EQAOPTS を使用します。
- FILE setfileid
- 設定値の保存および復元に使用されるデータ・セット名を指定します。
このコマンドを実行する前に、データ・セットが存在している必要があります。
z/OS では、setfileid は、DD 名、
完全修飾データ・セット名 (アポストロフィ (') なし)、または HFS パスとファイル名です。
CICS では、setfileid は、
完全修飾のデータ・セット名、または HFS パスおよびファイル名です。
setfileid の長さが 9 文字未満で、ピリオドが含まれていない場合、Debug Tool はそれを DD 名と見なします。
それ以外の場合は、完全修飾データ・セット名と見なします。
バッチ・モードでは、データ・セット名は無視されます。
設定値の復元および保管に使用するデータ・セット名を示すには、INSPSAFE DD ステートメントを使用します。
このデータ・セットは、レコード・フォーマット (RECFM) が VB で、レコード長 (LRECL) が 3204 以上の
順次データ・セットでなければなりません。
- FILE bpfileid
- ブレークポイントおよびモニター指定の保管に使用されるデータ・セットを指定します。
このコマンドを実行する前に、データ・セットが存在している必要があります。
z/OS では、bpfileid は、DD 名、
完全修飾データ・セット名 (アポストロフィ (') なし)、または HFS パスとファイル名です。
CICS では、bpfileid は、
完全修飾のデータ・セット名、または HFS パスおよびファイル名です。
bpfileid の長さが 9 文字未満で、ピリオドが含まれていない場合、Debug Tool はそれを DD 名と見なします。
それ以外の場合は、完全修飾データ・セット名と見なします。
バッチ・モードでは、データ・セット名は無視されます。
ブレークポイントおよびモニター指定の保存に使用するデータ・セットの名前を示すには、INSPBPM DD ステートメントを使用します。
このデータ・セットは PDS または PDSE (PDSE を推奨) でなければならず、メンバー名は指定できません。
このデータ・セットのレコード・フォーマット (RECFM) は VB で、レコード長 (LRECL) は 3204 以上でなければなりません。
Debug Tool は、ロード・モジュール名であるメンバー名をエンクレーブの開始時に割り当てます。
各エンクレーブのブレークポイントは、PDS または PDSE の個々のメンバーに保存されます。
保存されたブレークポイント、LDD 指定、およびモニター指定を破棄する場合は、
エンクレーブを開始したロード・モジュールの名前を持つメンバーを削除します。
メンバーの内容は変更しないでください。
使用上の注意
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- Debug Tool ユーザーズ・ガイド
SET SCREEN コマンド (フルスクリーン・モード)
画面上の情報の表示方法を制御します。初期設定値は ON です。
- CYCLE
- ウィンドウ構成を、順序どおりに切り替えます。
- integer
- ウィンドウ構成を選択する、1 から 6 までの範囲の整数。初期設定値は、1 です。
- LOG、MONITOR、SOURCE、または MEMORY
- 選択された構成内の、ウィンドウ割り当ての順序 (左から右、上から下) を指定します。オブジェクトは 3 つまでしか指定することはできません。指定されたオブジェクトはすべて異なっている
必要があります。同じ順序で MEMORY と LOG の両方を指定することはできません。
- ON
- Debug Tool フルスクリーン・サービスを起動します。
- OFF
- 行モードを活動化します。このモードは、端末がサポートされるフルスクリーン装置ではない場合に強化されます。
使用上の注意
- CYCLE も integer も指定されなくても、構成の
選択に変更はありません。ウィンドウが何も指定されない場合、構成へのウィンドウの割り当てにおいて、変更はありません。
- TSO で専用端末を使用するフルスクリーン・モードでデバッグしているときに SET SCREEN OFF を入力すると、
セッションは、TSO 端末を使用して行モードに入ります。
後で TSO 端末から SET SCREEN ON を入力した場合、制御は専用端末を使用するフルスクリーン・モードに戻ります。
- 専用端末を使用するフルスクリーン・モードでデバッグを行っているとき、SET SCREEN OFF は、
CICS フルスクリーン・モードおよび z/OS バッチでは無視されます。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- Debug Tool ユーザーズ・ガイド
SET SCROLL DISPLAY コマンド (フルスクリーン・モード)
スクロール・フィールドが、フルスクリーン・モードでの操作時に表示されるかどうかを制御します。初期設定値は ON です。
- ON
- スクロール・フィールドを表示します。
- OFF
- スクロール・フィールドの表示を抑止します。
例
スクロール・フィールドの表示が抑止されるように指定します。
SET SCROLL DISPLAY OFF;
SET SEQUENCE コマンド (PL/I)
コマンド・ファイルまたは設定ファイルの 72 桁目以降のデータをシーケンス番号として Debug Tool
が解釈するかどうかを制御します。
- ON
- コマンド・ファイルまたは設定ファイルの 73 桁目から 80 桁目
のシーケンス番号を許可します。
- OFF
- コマンド・ファイルまたは設定ファイルのシーケンス番号を許可しません。
使用上の注意
73 桁目から 80 桁目にシーケンス番号がある場合には、
コマンド・ファイルまたは設定ファイルの最初のコマンドとして、SET SEQUENCE ON
コマンドを入力する必要があります。
その後は、Debug Tool は 1 桁目から 72 桁目を処理して、72 桁目より後をすべて無視します。
SET SOURCE コマンド
ソース・ファイル、コンパイラー・リスト、または個別のデバッグ・ファイルを 1 つ以上のコンパイル単位に関連付け、
さらに、コンパイル単位がアクティブなときにソース・ファイルまたはリストを表示するかどうかを指定します。
- ON
- コンパイル単位がアクティブなときに、コンパイル単位のソースまたはリストを表示します。
- OFF
- ファイルが表示されないように指定します。
- cu_spec
- 有効なコンパイル単位の指定。複数のコンパイル単位を、同じソース、リストまたは分離デバッグ・ファイルと関連付けることができます。
- fileid
- コンパイル単位用に使用するソース、リスト、または分離デバッグ・ファイルを識別します。指定するファイルは、固定長のブロック形式であることが必要です。連結されたデータ・セットを指定することはできません。
z/OS では、fileid は DD 名、
完全修飾区分データ・セットとメンバーの名前、順次ファイル、または HFS パスとファイルの名前です。
CICS では、fileid は、完全修飾のデータ・セット名、または HFS パスおよびファイル名です。
fileid が 9 文字長より小さく、ピリオドが含まれていない場合、Debug Tool はそれを DD 名と想定します。
Debug Tool は、それが割り振られているかどうかを検査します。
割り振られていなければ、fileid はデータ・セット名と想定されます。
fileid は、コンパイル単位のデフォルト・ファイル ID の代わりに使用されるファイル ID を指定します。
Debug Tool がまだ fileid を認識していない場合 (認識させるには、前の SET SOURCE コマンドを使用する)、
またはデフォルトの fileid が有効でない場合は、有効な fileid が必要となります。
fileid に割り振られたデータ・セットが C、C++、または Enterprise PL/I ソースであり、ライブラリー・システム内の
ソース・ファイルへのアクセスに EQAOPTS SUBSYS=ssss オプションが使用されている場合は、fileid を DD 名にすることはできません。
使用上の注意
- DEBUG コンパイラー・オプションの FORMAT(DWARF) サブオプションを使用して C または C++ プログラムをコンパイルした場合、
SET SOURCE コマンドを使用して .dbg ファイルまたは .mdbg ファイルの新しい場所を指定することはできません。
- 現在実行中のコンパイル単位に対して SET SOURCE が出されると、ファイルが存在するかどうかのテストが実行されます。コンパイル単位が現行のコンパイル単位でない場合は、このテストはコンパイル単位が現行になるまで実行されません。ソースに関連付けられたファイルが存在しない場合もありますが、このファイルを必要とする関数が実行されないうちは、存在しないファイルについてのエラー・メッセージは表示されません。
- 現在 Debug Tool に認知されていないコンパイル単位を指定する cu_spec を指定すると、Debug Tool は、
特定の cu_spec がある据え置かれた LOADDEBUGDATA コマンドを探します。
Debug Tool が、そのような、据え置かれた LOADDEBUGDATA コマンドを見つけると、Debug Tool は、fileid を、
据え置かれた LOADDEBUGDATA コマンドに関連付けます。
コンパイル単位が表示され、アクティブにされると、Debug Tool は指定したファイルから EQALANGX データをロードします。
- SET SOURCE ON コマンドは、SET DEFAULT LISTINGS コマンドより高い優先順位をもちます。
- COBOL の場合、cu_spec に大/小文字の区別がある
名前が含まれている場合は、その名前を引用符 (") またはアポストロフィ (') で囲みます。
- SET SOURCE コマンドは、逆アセンブリー・コンパイル単位には影響しません。しかし、コンパイル単位が LOADDEBUGDATA コマンドのオペランドとして指定されると、保管して後で適用できます。
- ファイル名が 1 行に収まらない場合、ファイルの末尾にハイフンを付けます。
例
- コンパイル単位 prog1 と関連付けられた COBOL リストを、DD 名 mainprog で検出するように指示します。TSO セッションで、リスト・データ・セットを次のように割り振ります。
ALLOCATE FI(MAINPROG) DA('JSMITH.COBOL.LISTING(PROG1)') SHR Debug Tool を起動し、以下を実行します。
SET SOURCE ON (prog1) mainprog;
prog1 がデバッグ・セッション中に現行状態になると、Debug Tool は、JSMITH.COBOL.LISTING(PROG1) 内の
リストを検索します。
- コンパイル単位 prog1 と関連付けられた COBOL リストを、DD 名 mainprog で検出するように指示します。TSO セッションで、以下を実行します。
SET SOURCE ON (prog1) JSMITH.COBOL.LISTING(PROG1)
これにより、ALLOCATE コマンドを実行しなくても直前の例と同じ結果になります。
- コンパイル単位 "/u/userid/code/oefun.c" と関連付けられたソースを、
パスおよびファイル名 "/u/userid/code/oefun.c" の下の HFS で検出するように指示します。
SET SOURCE ON ("/u/userid/code/oefun.c") /u/userid/code/oefun.c;
- コンパイル単位 AVER と関連付けられた PL/I リスト・ファイルを、MYID.PLI.LISTING(AVER) で検出するように指示します。
SET SOURCE ON (AVER) myid.pli.listing(AVER) ;
- コンパイル単位 JSMITH.C.SOURCE(myprog) と関連付けられた C ソースを、PDS およびメンバー
CODE.CLIB.SOURCE(myprog) で検出するように指示します。
SET SOURCE ON ("JSMITH.C.SOURCE(myprog)") CODE.CLIB.SOURCE(myprog)
- SET LONGCUNAME OFF コマンドを入力して短い CU 名を使用することを指定し、コンパイル単位 JSMITH.C.SOURCE(myprog) と関連付けられた C ソースを、PDS およびメンバー CODE.CLIB.SOURCE(myprog) で検出するように指定します。
SET LONGCUNAME OFF;
SET SOURCE ON (myprog) CODE.CLIB.SOURCE(myprog)
- PL/I プログラムは、Enterprise PL/I for z/OS バージョン 3.5 (APAR PK35230 および PK35489 の PTF 適用) より前のバージョンの Enterprise PL/I コンパイラーでコンパイルされます。
コンパイル単位 JSMITH.PLI.SOURCE(myprog) と関連付けられた PL/I ソースを、PDS およびメンバー CODE.PLILIB.SOURCE(myprog) で検出するように指定します。
SET LONGCUNAME OFF;
SET SOURCE ON (myprog) CODE.PLILIB.SOURCE(myprog)
- PL/I プログラムが以下のいずれかのコンパイラーを使用してコンパイルされ、以下の環境で実行している場合:
- Enterprise PL/I for z/OS バージョン 3.6 以降
- Enterprise PL/I for z/OS バージョン 3.5 (APAR PK35230 および PK35489 の PTF ありコンパイラー適用)
- 言語環境プログラムバージョン 1.6 から 1.8 (APAR PK33738 用の PTF 適用済み) 以降
コンパイル単位 JSMITH.PLI.SOURCE(myprog) と関連付けられた PL/I ソースを、PDS およびメンバー CODE.PLILIB.SOURCE(myprog) で検出するように指定します。
SET SOURCE ON (myprog) CODE.PLILIB.SOURCE(myprog)
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET SUFFIX コマンド (フルスクリーン・モード)
フルスクリーン・モード時に、ソース・ウィンドウの右端で、頻度カウントの
表示を制御します。初期設定値は ON です。
- ON
- 接尾部欄を表示します。
- OFF
- 接尾部欄の表示を抑止します。
例
接尾部欄が表示されることを指定します。
SET SUFFIX ON;
SET TEST コマンド
呼び出し時に指定される初期の TEST ランタイム・オプションを指定変更します。初期設定値は ALL です。

- test_level
- 例外条件により、Debug Tool が、ブレークポイントがなくても制御を獲得できるように
指定します。括弧内はオプションです。
Test_level には、以下を組み込むことができます。
- ALL
- 以下のいずれかの状態が発生した場合、Debug Tool が制御を獲得することを指定します。
- アテンション割り込みが発生した場合。
- 言語環境プログラム・エンクレーブが異常終了した場合、またはプログラムが言語環境プログラム・ランタイムなしで実行している場合に MVS または CICS ABEND がある場合。
- COBOL STOP RUN、PL/I STOP、または EXEC CICS RETURN により言語環境プログラムが正常に終了する場合。
- 言語環境プログラムが重大度 1 以上の状態を検出した場合。言語環境プログラムにより FINISH、CEE066、または CEE067 スレッド終了条件が検出され、EQAOPTS オプション・ファイル内で THREADTERMCOND オプションが指定されている場合、Debug Tool は制御を獲得しません。
このオプションが指定されているかどうかをシステム管理者に問い合わせてください。
条件が発生した場合にその条件のためのブレークポイントが存在していると、Debug Tool は、ブレークポイントで指定されているコマンドを実行します。条件が発生した場合にその条件のためのブレークポイントが存在しない場合、またはアテンション割り込みが発生した場合は、Debug Tool は以下のいずれかを行います。
- 対話モードの場合、Debug Tool はコマンド・ファイル (存在する場合) からコマンドを読み取るか、またはユーザーにプロンプトを出してコマンド入力を要求します。
- 非対話式モードの場合、Debug Tool はコマンド・ファイルからコマンドを読み取ります。
- ERROR
- 以下の条件が発生した場合に限り、ユーザー定義のブレークポイントが
なくても Debug Tool に制御が渡されることを指定します。
- 言語環境プログラム・ランタイムなしで実行しているときに発生する MVS または CICS の ABEND。
- C の場合
- アテンション割り込み
- 重大度 2 以上の定義済み言語環境プログラム条件
- SIGUSR1、SIGUSR2、SIGINT あるい
は SIGTERM 以外の C 条件
- COBOL の場合:
- アテンション割り込み
- 重大度 2 以上の定義済み言語環境プログラム条件
- PL/I の場合:
- PL/I または Debug Tool のいずれかに向けられたアテンション割り込み
- 重大度 2 以上の定義済み言語環境プログラム条件
上記の条件に対してブレークポイントが定義してある場合、ブレークポイントでの実行を指定したコマンドを実行します。コマンドが指定されていない場合、Debug Tool は、コマンド・ファイルから
コマンドを読み取るか、対話モードでコマンドを入力するように求めるプロンプトを
出します。
- NONE
- Debug Tool が制御を得るのは、アテンション割り込みのとき、または、ブレークポイントを設定
してある条件が発生したときのみ、と指定します。該当の条件に対してブレークポイントが存在する場合には、ブレークポイントで指定されているコマンドが実行されます。
使用上の注意
EQAOPTS ファイル内の THREADTERMCOND オプションで、言語環境プログラムにより FINISH、CEE066、または CEE067 スレッド終了条件が検出されたときに Debug Tool が停止しないように設定されている場合、これらの条件が検出された場合に Debug Tool は制御を獲得しません。
これらの条件が検出された場合に Debug Tool が制御を獲得するようにするには、AT OCCURRENCE ブレークポイントを設定するか、THREADTERMCOND オプションを変更して、Debug Tool が制御を獲得するように指定します。
例
- ブレークポイントが存在しないときに、アテンション割り込みまたは例外
のみで、Debug Tool が制御を獲得することを示します。
SET TEST ERROR;
- ある条件でブレークポイントが存在するといったことがなければ、どのような条件が存在しても Debug Tool は制御を獲得しないことを示します。
SET TEST NONE;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET WARNING コマンド (C、C++、COBOL、および PL/I)
Debug Tool 警告メッセージの表示と、C、C++、および PL/I プログラムに例外が反映されるかどうかを制御します。COBOL プログラムの場合は、最適化コードをデバッグ中に変数を変更する機能を制御します。初期設定値は ON です。
- ON
- Debug Tool の警告メッセージおよび、除算チェックなどの条件を
診断メッセージで表示します。COBOL プログラムの場合は、最適化コードをデバッグ中の変数の変更を禁止します。
- OFF
- Debug Tool 警告メッセージを抑止し、条件によりプログラムで例外が発生します。COBOL プログラムの場合は、最適化コードをデバッグ中の変数の変更を許可します。
ユーザーとの対話によって起こる例外は、タイプ・ミスが原因である可能性があり、アプリケーション・プログラムに渡されるようにする意図はないかもしれません。ただし、プログラム内で実際の例外を扱う必要が出てくることがあります。例えば、あるエラー・リカバリー・コードをテストするなどです。(TRIGGER は、例外情報をセットアップしないため、常にこれに
該当するとは限りません。)
使用上の注意
- このコマンドはリモート・デバッグ・モードで使用できます。
- Debug Tool は、次のような C 条件を検出します。
- ゼロでの除算。
- 定義された配列の境界外の配列添え字
- 列挙型データ型の変数への整数値の代入、この場合、整数値は列挙型
データ型の列挙型定数のうちの 1 つの整数値と、対応していません。
- Debug Tool は、次のような PL/I 計算条件を検出します。
- 無効の 10 進データ
- CHARACTER から BIT への変換エラー
- ゼロでの除算。
- 可変ストリングでの無効な長さ
-
以下のいずれかのコンパイラーによってコンパイルされた最適化プログラムで、変数を変更することができます。
- Enterprise COBOL for z/OS バージョン 4.1
- Enterprise COBOL for z/OS and OS/390 バージョン 3 リリース 2 以降
- Enterprise COBOL for z/OS and OS/390 バージョン 3 リリース 1 (APAR PQ63235 インストール済み)
- COBOL for OS/390 & VM、バージョン 2 リリース 2
- COBOL for OS/390 & VM バージョン 2 リリース 1 (APAR PQ63234 インストール済み)
ただし、結果は予測不能である場合があります。
より予測可能な結果を得るには、プログラムを Enterprise COBOL for z/OS バージョン 4.1 でコンパイルし、TEST コンパイラー・オプションの EJPD サブオプションを指定します。ただし、初期設定するために VALUE 文節を指定して宣言された変数は、変更できません。
- Debug Tool が条件式 (例えば、AT CHANGE コマンドの WHEN 節の condition) を評価し、条件式が無効な場合、Debug Tool は次のいずれかのアクションを行います。
- SET WARNING が ON に設定されている場合、Debug Tool は停止して、条件式を評価できなかったことのメッセージを表示します。
Debug Tool に実行させるアクションを指定するコマンドを入力する必要があります。
- SET WARNING が OFF に設定されている場合、Debug Tool は停止せず、また条件式を評価できなかったことのメッセージも表示しません。Debug Tool はプログラムの実行を続行します。
例
条件が診断メッセージになるように指定します。
SET WARNING ON;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
SET コマンド (COBOL)
SET コマンドは、値を COBOL 参照に割り当てます。SET キーワードを省略することはできません。
- reference
- 有効な Debug Tool COBOL 参照。
- literal
- 有効な COBOL 数値リテラル定数。
- TRUE
- レベル 88 reference に割り当てられた値。
値 TRUE を割り振るには、
言語環境プログラム APAR PK30521 用の PTF が z/OS バージョン 1 リリース 6、バージョン 1 リリース 7、およびバージョン 1 リリース 8 にインストールされている必要があります。
使用上の注意
- 値 TRUE は、レベル 88 reference にのみ割り当てることができます。
- 計算条件またはアテンション割り込みによって Debug Tool を呼び出した場合、変数の
値の設定に代入ステートメントを使用しても、期待した結果は得られない
可能性があります。これは、ステートメント境界での変数値とは反対に、ステートメント内の変数値のあいまいさによるものです。
- SET では、値を単一の受信先にのみ代入します。COBOL の場合とは異なり、複数の受信先変数はサポートされません。
- COBOL SET コマンドの形式 1、4、および 5 のみがサポートされます。
- 索引名は、プログラム変数のみが使用可能です (OCCURS は、Debug Tool セッション変数にサポートされないため)。
- COBOL ADDRESS OF ID は、LINKAGE SECTION 変数である
ID についてのみサポートされます。さらに、受信側としての COBOL ADDRESS OF は、レベル 1 または 77、送信側としての COBOL ADDRESS OF は 66 または 88 以外のレベルであること
が必要です。
- Debug Tool には SET コマンドで使用できる 16 進定数があり、16 進値の前には "H" が付けられ、引用符 (") またはアポストロフィ (') で区切られています。
- PLAYBACK ENABLE コマンドの DATA オプションが有効な場合、SET コマンドを使用して、セッション変数のみに値を代入することができます。プログラム変数に値を代入することはできません。
- 最適化 COBOL プログラムのデバッグをする場合、SET コマンドを使用して値をプログラム変数に代入できるのは、最初に SET WARNING OFF コマンドを入力するときのみです。SET コマンドのソースまたはターゲットは最適化プログラムによって廃棄された変数を参照できません。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
Debug Tool SET コマンドの実行できる移動
次の表に、Debug Tool SET コマンドで実行できる移動を
示します。
| ソース・フィールド |
|
受信フィールド |
| AO |
IN |
IDI |
PTR |
ED |
BI |
ID |
OR |
| Address Of (AO) |
Y |
|
|
Y |
|
|
|
|
| Index Name (IN) |
|
Y |
Y |
|
Y |
Y |
Y |
|
| Index Data Item (IDI) |
|
Y |
Y |
|
|
|
|
|
| Pointer Data Item (PTR) |
Y |
|
|
Y |
|
|
|
|
| Address Hex Literal1 |
Y |
|
|
Y |
|
|
|
|
| NULL (NUL) |
Y |
|
|
Y |
|
|
|
|
| Integer Literal |
|
Y2 |
|
|
|
|
|
|
| External Decimal (ED) |
|
Y |
|
|
|
|
|
|
| Binary (BI) |
|
Y |
|
|
|
|
|
|
| Internal Decimal (ID) |
|
Y |
|
|
|
|
|
|
| OBJECT REFERENCE (OR) |
|
|
|
|
|
|
|
Y |
注:
- 1
- 16 進文字のみでなければなりません。引用符 (") またはアポストロフィ (') で区切られ、その前に H が付きます。
- 2
- 索引名は、索引値に変換されます。
SHOW 接頭部コマンド (フルスクリーン・モード)
SHOW 接頭部 コマンドで、行内の相対ステートメント (C の場合) または
相対 verb (COBOL の場合) に、頻度カウントが接尾部域に一時的に
示されるように指定します。
- integer
- 行内の相対ステートメント (C の場合)、または相対 verb (COBOL の場合) を
選択します。デフォルト値は 1 です。最適化 COBOL プログラムでは、デフォルト値は、最適化プログラムによって廃棄されなかった最初の実行可能ステートメントです。
使用上の注意
- SET SUFFIX は現在 OFF であり、SHOW 接頭部
コマンドで、それを強制的に ON にします。
- 接尾部表示は、次の対話で、通常どおりになります。
- SHOW 接頭部 コマンドはログに記録されません。
例
行内の 3 番目のステートメントまたは verb の頻度カウントを
表示します (ステートメントが検出される行の接頭部域に入力します)。
SHOW 3
キーワードと整数の間には、区切り文字としてのスペースは必要ありません。したがって、SHOW 3 は SHOW3 と同じです。
STEP コマンド
STEP コマンドは、1 つ以上のプログラム・ステートメント
を実行しながら、Debug Tool が動的にプログラムをステップスルーすることを可能にします。フルスクリーン・モードでは、STEP コマンドは、アニメーション表示の実行を行います。
STEP は、次のうち 1 つ以上の条件を検出した場合は終了します。
- ユーザーのアテンション割り込み
- ブレークポイントが検出される
- プログラムの正常終了または異常終了
- プログラミング言語または言語環境プログラム条件または例外

- integer
- 実行するステートメントの数を示します。デフォルトは 1 です。integer が 2 以上である場合、そのステートメントは、同じキーワード
およびカウント 1 で、STEP が何度も繰り返されたように実行されます。実行の速度、すなわちステップ
のペース は、SET PACE コマンド
によって、あるいはプロファイル・パネルのビジュアル・トレースの
ペース・フィールドによって設定されます。
- *
- プログラムが、割り込まれるまで実行されるように指定します。STEP * は、GO と同等です。
- INTO
- いずれかの呼び出されたプロシージャーまたは機能にステップイントゥ します。これは、ステップ実行が、呼び出されたプロシージャーまたは機能内で続行するということです。
- OVER
- すべてのプロシージャー呼び出しまたは機能呼び出しをステップオーバー します。
このオペランドを指定すると、
呼び出されたプロシージャーおよび機能内にある間はフルスピード実行が提供され (アニメーション処理は行われません)、
戻ったときに STEP モードが再開されます。
逆アセンブルされたプログラムをデバッグしている場合、呼び出し側プログラムにブレークポイントを設定したことを確認します。ブレークポイントがない場合は、Debug Tool は戻り時に
STEP モードを再開できず、アプリケーションは終了するまで実行を続けます。
- RETURN
- 指定したレベル数だけ戻り 点にステップ・バックし、該当するプロシージャー呼び出しまたは
機能呼び出しの後にあるステートメントで停止します。このオペランドを指定すると、現行のプロシージャーまたは機能の残りが、フルスピードで実行され (アニメーション処理は行われません)、呼び出されたプロシージャー
または機能に対し、戻ったときに STEP モードが再開されます。
非言語環境プログラム COBOL
プログラムまたは逆アセンブルされたプログラムをデバッグする場合、Debug Tool は戻り点を識別できないので、STEP RETURN コマンドを使用しないでください。
代わりに、呼び出し側プログラムにブレークポイントを設定して、GO コマンドを入力します。
使用上の注意
例
- 次の 25 個のステートメントをステップスルーをして、アプリケーション・サブルーチンまたは機能が呼び出される場合に、サブルーチンまたは機能へのステップイントゥを続行します。
STEP 25 INTO;
- 次の 25 個のステートメントをステップスルーをします。ただし、アプリケーション・サブルーチンまたは機能が呼び出され
ると、サブルーチンまたは機能が戻るまで、アニメーションなしでフルスピード実行に切り替わります。
STEP 25 OVER;
- 呼び出しの 3 つのレベルを介して、フルスピードで戻ります。
STEP 3 RETURN;
STORAGE コマンド
STORAGE コマンドによって、ストレージの変更ができます。ストレージを変更すると結果が予測できないので、注意してください。
- address
- 変更するストレージの第 1 バイトのアドレス。
- reference
- ストレージ・ロケーションを変更する変数。アセンブラーまたは逆アセンブリーでは、このオペランドがストレージ・ロケーションを示すアセンブラー式として指定される場合があります。
- 'reference'
- ストレージ・ロケーションが変更される非言語環境プログラム COBOL 変数。非言語環境プログラム COBOL では、参照はアポストロフィ (') で囲む必要があります。
- offset
- 参照のアドレス、またはユーザーが指定したアドレスが指すメモリー位置からの開始オフセットを示すバイト数を 10 進数または 16 進数で表したもの。
offset は、負の数値にすることができます。
offset が 16 進定数の場合、前述の address と同じ構文規則に従う必要があります。デフォルトは 0 です。
- length
- 変更するバイト数 (10 進数)。
これは、value の長さと同じでなければなりません。
- value
- 保管する値。value は、以下のいずれかの方法で表記する必要があります。
- アドレス。
- アポストロフィ (') で囲まれ、前に " X" が付けられた 16 進値。以下のプログラミング言語の場合は、別の表記も使用できます。
- PL/I の場合、引用符 (") またはアポストロフィ (') で囲んだ 16 進値の前に、PX を置きます。
- アセンブラー、COBOL、または逆アセンブリーの場合、引用符 (") で囲んだ 16 進値の前に "X" を置きます。
- 10 進数の値。10 進数の値の場合、4 バイトが変更されます。例えば、STORAGE (H'12345678') = 3 は、STORAGE(H'12345678') =
H'00000003' と同じです。
- 各プログラミング言語、またはすべてのプログラミング言語に適した文字ストリング表記を使用した、最長 256 バイトの文字ストリング。ストリングを引用符 (") で囲んで使用できます。
使用上の注意
- パラメーターが 2 つのみ指定された場合、Debug Tool は 2 番目のパラメーターを長さと見なします。
- パラメーターが 1 つのみ指定された場合、Debug Tool は、オフセットが 0 で、長さが value の長さに等しいと見なします。
- STORAGE コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
- 有効数字 8 桁を超える address を指定したか reference が 64 ビット・アドレス可能ストレージを参照する場合、Debug Tool は、ストレージ・ロケーションは 64 ビット・アドレス可能ストレージであると想定します。それ以外の場合、Debug Tool は、ストレージ・ロケーションは 31 ビット・アドレス可能ストレージであると想定します。
- reference がポインターの場合、Debug Tool は、そのポインターで指定されるアドレスの内容を変更します。
例
- どのプログラミング言語でも、アドレス X'12345678' のストレージの 2 バイトを変更するには、次のコマンドを入力します。
STORAGE (X'12345678') = 0x1234;
- C の場合、次のコマンドを入力して、アドレス X'12345678' で、ストレージの 2 バイトを変更します。
STORAGE (0x12345678) = 0x1234;
- COBOL の場合、次のコマンドを入力して、アドレス X'12345678' で、ストレージの 4 バイトを変更します。
STORAGE (H'12345678') = H'1234'
コマンドは、次のように変更されます。
STORAGE (H'12345678') = H'00001234'
- COBOL の場合、次のコマンドを入力して、アドレス X'12345678' で、ストレージの 6 バイトを変更します。
STORAGE (H'12345678') = X'C1C1C1C1C1C1'
- PL/I の場合、次のコマンドを入力して、アドレス X'12345678' で、ストレージの 6 バイトを変更します。
STORAGE ('12345678'PX) = 'C1C1C1C1C1C1'X
- PL/I の場合、次のコマンドを入力して、アドレス X'12345678' で、ストレージの 23 バイトを変更します。
STORAGE ('12345678'PX) = 'aaaaaaaaaaaaaaaaaaaaaaa'
- 次のコマンドを入力して、MYVAR でオフセット 2 から始まるストレージの 10 バイトを変更します。
STORAGE (MYVAR, 2, 10) = 'new text: ';
- 次のコマンドを入力して、アドレス X'20CD0' でオフセット 10 から始まるストレージの 4 バイトを変更します。
STORAGE ('20CD0'PX, 10, 4) = 99;
- 次のコマンドを入力して、MYVAR でオフセット 0 から始まるストレージを、変数 MYVAR の長さと同じバイト数だけ変更します。
STORAGE (MYVAR) = 10;
- C の場合、アドレス 1A3BE910 が指すストレージをオフセット -20 から 20 バイトだけ更新します。
STORAGE (0x1A3BE910,-20,20) = 'first and last name ';
- アドレス 162F0 が指すストレージの 20 バイトを更新します。
言語は COBOL です。
オフセットは 0 です。
STORAGE ( H'162F0', 20 ) = 'clear that string ' ;
- アセンブラーの場合、アドレス 00020CD0 が指すストレージをオフセット 16 から 4 バイトだけ更新します。
オフセットは 16 進定数として指定されます。
STORAGE ( X'00020CD0', X'10', 4 ) = 5 ;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
switch コマンド (C および C++)
switch コマンドにより、switch 式の値に従って、switch 本体内の
異なるコマンドに制御権を移動することができます。switch、case、および default キーワードは、小文字でなければならず、省略することができません。
- expression
- 有効な Debug Tool の C の式。
- case_expression
- 有効な文字またはオプションの符号付き整数定数。
- command
- 有効な Debug Tool コマンド。
switch 式の値は、case 文節ごとの式の値と比較されます。一致する値が検出されると、制御は、一致する値を含む case 文節のコマンドに渡されます。一致する値が検出されず、default 文節が switch 本体のどこかで表示される場合、制御は、default 文節のコマンドに渡されます。これ以外の場合、制御は、switch 本体の後に続いているコマンドに渡ります。
制御が switch 本体のコマンドに渡ると、break コマンドが検出されるまで、あるいは switch 本体内の最後のコマンドが実行されるまで、制御は switch 本体
から戻りません。
使用上の注意
- 宣言は、switch コマンド内では許可されません。
- switch コマンドの最後の文字をセミコロンにすることはできません。右中括弧の後のセミコロンは、NULL コマンドとして扱われます。
- このコマンドは、C 言語での switch ステートメントと似ていますが、式については Debug Tool の制限に準拠します。
- 重複した case_expression 値は、サポートされません。
- switch コマンドは、記録されたステートメントを PLAYBACK コマンドを使用して再生する間は使用できません。
例
- 次の switch コマンドには、いくつかの case 文節
と 1 つの default 文節が含まれます。文節ごとに、関数呼び出しおよび break コマンドが含まれています。break コマンドは、switch の本文内で、後続のコマンドに制御権が移らないようにします。
key に値 '/' があると、switch コマンド
は、関数 divide を呼び出します。戻り時に、制御は、switch 本体の後に続いているコマンドに渡ります。
char key;
printf("Enter an arithmetic operator¥n");
scanf("%c",&key);
switch (key)
{
case '+':
add();
LIST (key);
break;
case '-':
subtract();
LIST (key);
break;
case '*':
multiply();
LIST (key);
break;
case '/':
divide();
LIST (key);
break;
default:
printf("Invalid key¥n");
break;
}
- 以下の例では、break コマンドは存在しません。c の値が、'A' と等しければ、3 つのカウンターはすべて、増加します。c の値が 'a' に等しければ、lettera および total が増加
します。total だけが増加するのは、c が 'A' にも 'a' にも等しくない
場合です。
char text[100];
int capa, i, lettera, total;
for (i=0; i < sizeof(text); i++) {
switch (text[i]) {
case 'A':
capa++;
case 'a':
lettera++;
default:
total++;
}
}
SYSTEM コマンド (z/OS)
SYSTEM コマンドにより、Debug Tool セッション時に
TSO コマンドを出すことができます。SYSTEM キーワードは、SYS としてしか省略できません。
- system_command
- パラメーターを必要としない、有効な TSO システム・コマンドまたは CLIST 名。
使用上の注意
- システム・コマンドまたは CLIST 呼び出しの一部分として指定できるパラメーターはありません。
パラメーターが必要な場合に非対話式に実行するには、CLIST に完全な呼び出しを
入力してから、TSO または SYSTEM コマンドを使用して、その CLIST (パラメーターなしのもの) を呼び出す必要があります。
- SYSTEM コマンドで、新規に対話式 Debug Tool セッションを
始めることはできません。
- TSO で対話式に操作中に、コマンドを繰り返し入力できるモードに切り換える
方法はありません。しかし、CLIST を使用して、独自の繰り返し手順を作成することは可能です。
- SYSTEM を使用して CICS コマンドを出すことはできません。
例
- ユーザー・カタログのすべてのデータ・セットをリストします。
SYSTEM LISTCAT;
- 一時的に ISPF モードに入ります。
SYSTEM PDF;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
TRIGGER コマンド
TRIGGER コマンドは、Debug Tool で AT 条件を
発生したり、あるいは、指定されたプログラム言語条件をプログラムで
発生させます。

- condition
- 有効な条件または例外。現行のプログラム言語設定に従って、このコードは以下のタイプのコードのいずれかにすることができます。
- 言語環境プログラムのシンボリック・フィードバック・コード
- 言語指向のキーワードまたはコード
- アプリケーションが言語環境プログラム・ランタイムなしに実行された場合、
下記に示す ABEND コードのいずれか
指定の条件を処理するための活動状態になっている条件ハンドラーがない場合、デフォルト条件ハンドラーは、正常完了を待たずにプログラムを終了させることができます。
次に、C の条件定数を示します。大文字を使用し、省略なしの記述が必要です。
|
SIGABND
SIGABRT
SIGFPE
|
SIGILL
SIGINT
SIGIOERR
SIGSEGV
|
SIGTERM
SIGUSR1
SIGUSR2
|
COBOL の条件定数はありません。その代わりに、言語環境プログラムのシンボリック・フィードバック・コード (例えば、CEE347) を
使用しなければなりません。
PL/I 条件定数の構文および認められる省略形については ON コマンド
を参照してください。
言語環境プログラム・ランタイムなしで実行している場合は、以下のコードのいずれかを使用してください。
- MVS システムおよびユーザー ABEND を表す、コード Sxxx および Uxxx。
このケースで、xxx は、ABEND コードを表す 3 桁の 16 進数字です。
- CICS ABEND コードを表す任意の 4 文字ストリング。
- cu_spec
- 有効なコンパイル単位の指定。
- entry_name
- 有効な外部入り口点名定数またはゼロ (0)。0 を指定できるのは、現行のプログラム言語設定が C または PL/I の場合のみです。
- reference
- 現行のプログラム言語で有効な Debug Tool 参照。
- %STORAGE
- AT CHANGE の対象を選択する代替方法となる組み込み関数。
- address
- 変更の発生を監視するストレージの開始アドレス。
- length
- 変更の発生を監視するストレージのバイト数。これは、正の整数定数でなければなりません。デフォルトは 1 です。
- load_spec
- 有効なロード・モジュール指定。
- block_spec
- 有効なブロック指定。
- statement_label
- 有効なソース・ラベル定数を記入します。
- stmt_id_spec
- 有効なステートメント ID 指定。
使用上の注意
- EQAOPTS ファイル内の THREADTERMCOND オプションで、言語環境プログラムにより FINISH、CEE066、または CEE067 スレッド終了条件が検出されたときに Debug Tool が停止しないように設定されている場合、これらの条件が検出された場合に Debug Tool は制御を獲得しません。
これらの条件が検出された場合に Debug Tool が制御を獲得するようにするには、AT OCCURRENCE ブレークポイントを設定するか、THREADTERMCOND オプションを変更して、Debug Tool が制御を獲得するように指定します。
- AT TERMINATION は、TRIGGER コマンドによって発生させることはできません。
- エンクレーブは、TRIGGER コマンドで停止することはできません。
- 記録されたステートメントを PLAYBACK コマンドを使用して再生している場合、TRIGGER コマンドを使用することはできません。
例
最初の例では、以下の差に注意してください。
- ブレークポイントのトリガー (TRIGGER AT OCCURRENCE CEE347)。これは、そのブレークポイントに関連した Debug Tool コマンドを実行します。条件は発生しません。
- 条件のトリガー (TRIGGER CEE347)。これは、この条件を発生させ、対応する system アクションを引き起こします。対応するシステム・アクションは、条件処理ルーチンであることがあります。
- AT OCCURRENCE CEE347 ブレークポイントのコマンドを実行
します (CEE347 条件は発生しません)。現行のプログラム言語の設定は COBOL です。
AT OCCURRENCE CEE347 PERFORM
SET ix TO 5;
END-PERFORM;
TRIGGER AT OCCURRENCE CEE347; /* SET ix TO 5 is executed */
- プログラムで SIGTERM 条件を発生させます。現行のプログラム言語の設定は C です。
TRIGGER SIGTERM;
- あらかじめ定義されている STATEMENT ブレークポイント (行 13) が
起動されます。
AT 13 LIST "at 13";
TRIGGER AT 13;
/* "at 13" will be the echoed output here */
- 以下のブレークポイントがプログラム内に存在すると想定してください。
AT CHANGE x LIST TITLED (x); AT STATEMENT 10;
Debug Tool が、STATEMENT ブレークポイントに関して起動され、AT CHANGE ブレークポイントと関連付けられているコマンドを
起動したい場合には、次のように入力します。
TRIGGER AT CHANGE x;
Debug Tool は値 x を表示します。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
TSO コマンド (z/OS)
TSO コマンドによって、Debug Tool セッション時に TSO コマンドを出す
ことができます。TSO コマンドは、TSO 環境においてのみ有効です。TSO キーワードを省略することはできません。
- tso_command
- パラメーターを必要としない、有効な TSO システム・コマンドまたは CLIST 名。
使用上の注意
例
ユーザー・カタログのすべてのデータ・セットをリストします。
TSO LISTCAT;
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
USE コマンド
USE コマンドにより、指定されたファイルまたはデータ・セット
にある Debug Tool コマンドが実行されたり、また構文チェックされます。このファイルは、前のセッションからのログ・ファイルでも構いません。指定されたファイルまたはデータ・セットは、それ自体の中に、別の USE コマンドを含むことができます。ある一時点でオープンできる USE ファイルの最大数は、8 つに限定されます。USE キーワードを省略することはできません。
- ddname
- z/OS で有効な DD 名。
- dsname
- 実行する Debug Tool コマンドを含む z/OS データ・セット。
dsname がアポストロフィ (') で囲まれていない場合、Debug Tool は、これは部分的に修飾されたデータ・セット名で、ユーザー ID を接頭部として付加すると
完全修飾データ・セット名になると想定します。
使用上の注意
- USE ファイルでコマンドの構文をチェックする場合。
- EXECUTE 設定を OFF に設定します。
- ファイルに対して USE コマンドを入力します。
- USE ファイルから読み取られるコマンドは、コメントとして記録されます。
- ログ・ファイルは、以降の Debug Tool セッションで、USE ファイルとして
の役割を果たします。
- 再帰呼び出しは許可されません。すなわち、コマンド・ファイルは、すでに
アクティブであるときは使用できません。このことは基本コマンドと優先ファイルにも適用されます。USE ファイルの実行中に、Debug Tool がさらに呼び出されると、(例えば、USE ファイルのコマンドを実行中に条件が発生すると)、制御が
その条件から戻ってくるまで、USE ファイルはコマンド入力のために
使用されません。
- USE ファイルは、ファイルの終わりに到達すると、クローズされます。
- 戻りのない コマンド (GO など) が USE ファイル
から実行されると、取られる処置は (USE ファイルのクローズに関する
限り)、次のような一定の条件によって決まります。
- USE ファイルが、基本コマンド・ファイルまたは優先ファイルから直接的にあるいは
間接的に呼び出された場合、そのファイルは、基本コマンド・ファイルあるいは
優先ファイルと同じ特性を持っています。すなわち、USE ファイルはその立場を保持しているので、Debug Tool は、次にコマンドを要求するとき、前に止めた USE ファイルから
読み取ります。
- USE ファイルが、基本コマンド・ファイルまたは優先ファイルから
直接的あるいは非直接的に呼び出されなかった 場合、USE ファイル
の残りの部分と、その USE ファイルを呼び出した
ファイルはスキップされます。
- QUIT コマンドを検出しないまま USE ファイルの終わりに
達すると、Debug Tool は、その USE コマンドが出されたコマンド・ソースに
戻ります。これは、端末の場合もあれば、コマンド・ストリング、あるいは別のコマンド・ファイル
の場合もあります。
- GO、GOTO、または STEP が実行された
ときのその動作に関しては、USE ファイルは、どのような
コマンド・ソースが USE コマンドを出した場合であれ、そのコマンド・ソースの
特性を引き継ぎます。基本コマンド・ファイルから呼び出された USE ファイルは、次のブレークポイントで、次の順番のコマンドを引き続き実行します。それが、これ以外のコマンド・シーケンスから呼び出された場合、GO、GOTO、または STEP がある
と、USE ファイル内にある残りのコマンドが破棄されます。
例
while コマンド (C および C++)
while コマンドにより、指定された条件が満たされなくなるまで、あるいは、偽と評価されるまで、ループの本体を繰り返し実行することができます。while キーワードは小文字でなければならず、省略することはできません。
- expression
- 有効な Debug Tool の C の式。
- command
- 有効な Debug Tool コマンド。
expression は、ループの本体が実行されるかどうかを判別するために
評価されます。expression が偽と評価されると、ループの本体は実行されません。そうでなければ、ループの本体が実行されます。本体が実行された後、制御は再び expression の評価に戻ります。実行部をさらに実行するかどうかは、条件の値によって決まります。
条件が偽と評価されないときでも、break コマンドにより、while コマンド実行の終了が可能になります。
使用上の注意
- 記録されたステートメントを PLAYBACK コマンドを使用して再生している場合、while コマンドを使用することはできません。
例
- 3 で開始して増分 2 で 9 で終了する、x の値をリストします。
x = 1;
while (x +=2, x < 10)
LIST x;
- --index がゼロ (0) 以上の間、式 item[index] の値を 3 倍にします。
while (--index >= 0) {
item[index] *= 3;
printf("item[%d] = %d¥n", index, item[index]);
}
WINDOW コマンド (フルスクリーン・モード)
WINDOW コマンドは、ウィンドウ操作機能を提供します。
WINDOW コマンドは、IMMEDIATE コマンドを使用して、即時に有効にすることができます。カーソル移動に影響を受ける形式が、PF キーへの割り当て時に一番役に立ちます。WINDOW キーワードはオプションです。
次の表は、WINDOW コマンドの形式を要約しています。
使用上の注意
- オペランドが指定されておらず、カーソルがコマンド行にある
場合、SET DEFAULT WINDOW で設定されるデフォルト・ウィンドウ ID が使
用されます (オープンしている場合。そうでなければ先行コマンド
は SOURCE、LOG、MONITOR です)。
WINDOW CLOSE コマンド
Debug Tool のフルスクリーン・セッション・パネルで、指定された論理ウィンドウの物理ウィンドウを閉じます。開かれている残りの物理ウィンドウが拡張され、画面の残りいっぱいに広がります。物理ウィンドウを閉じても、論理ウィンドウには影響しません。例えば、モニター・ウィンドウを表示している物理ウィンドウを閉じても、LIST MONITOR コマンド
によって割り当てられた変数値のモニターは停止しません。
物理ウィンドウに割り当てられていない論理ウィンドウを指定した場合、Debug Tool はエラー・メッセージを表示します。
可視の物理ウィンドウが 1 つのみである場合、WINDOW CLOSE は無効です。
- CURSOR
- カーソルが現在位置付けられている場所 (コマンド行以外) のウィンドウ
を選択します。
- LOG
- セッション・ログ・ウィンドウを選択します。
- MEMORY
- メモリー・ウィンドウを選択します。
- MONITOR
- モニター・ウィンドウを選択します。
- SOURCE
- ソース・リスト・ウィンドウを選択します。
例
カーソルを含んでいるウィンドウをクローズします。
WINDOW CLOSE CURSOR;
WINDOW OPEN コマンド
Debug Tool のフルスクリーン・セッション・パネルで、事前に閉じられた物理ウィンドウを開きます。PANEL LAYOUT コマンドで選択された構成に応じて、いずれかの既存の物理ウィンドウ・サイズが変更されます。
物理ウィンドウに割り当てられていない論理ウィンドウを指定した場合、Debug Tool はエラー・メッセージを表示します。
OPEN コマンドがオペランドなしで実行されると、Debug Tool は最後に閉じられた物理ウィンドウを開きます。
- LOG
- セッション・ログ・ウィンドウを選択します。
- MEMORY
- メモリー・ウィンドウを選択します。
- MONITOR
- モニター・ウィンドウを選択します。
- SOURCE
- ソース・リスト・ウィンドウを選択します。
例
モニター・ウィンドウをオープンします。
WINDOW OPEN MONITOR;
WINDOW SIZE コマンド
Debug Tool のフルスクリーン・セッション・パネルで、現在の可視の物理ウィンドウの相対サイズを制御します。
- integer
- 選択されたウィンドウと現行ウィンドウ構成に適切な、行または桁の数を
指定します。
- CURSOR
- カーソルが現在位置付けられている場所 (コマンド行以外) のウィンドウ
を選択します。WINDOW SIZE のカーソル形式は、integer が指定される場合に、そのウィンドウに適用されます。integer が指定されない場合、ウィンドウの構成が変更されて、ウィンドウの交点がカーソルの位置になりますが、構成に共通の交点がない場合、最も近い境界がカーソルの位置になります。
- LOG
- セッション・ログ・ウィンドウを選択します。
- MEMORY
- メモリー・ウィンドウを選択します。
- MONITOR
- モニター・ウィンドウを選択します。
- SOURCE
- ソース・リスト・ウィンドウを選択します。
使用上の注意
- ウィンドウがズームされている場合、またはオープンしているウィンドウ
が 1 つしかない場合は、WINDOW SIZE を使用することはできません。
- いずれの構成のウィンドウにも、調整可能な寸法が 1 つだけあります。
- 1 つ以上のウィンドウが、画面と同じ横幅である場合:
- 画面と同じ横幅の各ウィンドウについて、行数が調整可能です。
- 残りのウィンドウについて、桁数が調整可能です。
- 1 つ以上のウィンドウが、画面と同じ縦幅である場合:
- 画面と同じ縦幅の各ウィンドウについて、桁数が調整可能です。
- 残りのウィンドウについて、行数が調整可能です。
例
- ソース・ウィンドウのサイズを 15 行に調整します。
WINDOW SIZE 15 SOURCE;
- カーソルが現在位置づけられているウィンドウのサイズを 20 行に調整します。
SIZE 20 CURSOR;
WINDOW SWAP コマンド
SWAP コマンドは、物理ウィンドウ内で表示されている論理ウィンドウを別の論理ウィンドウで置き換えます。
オペランドの順序は重要ではありません。
物理ウィンドウは、その属性を維持します。例えば、物理ウィンドウが閉じられた場合、SWAPコマンドを入力しても閉じられたままになります。WINDOW OPEN コマンドを入力するまで開かれません。
- MEMORY
- メモリー・ウィンドウを選択します。
- LOG
- ログ・ウィンドウを選択します。
例
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
- 関連タスク
- 「Debug Tool ユーザーズ・ガイド」の『Debug Tool セッション・パネル』
- 「Debug Tool ユーザーズ・ガイド」の『メモリー・ウィンドウとログ・ウィンドウの切り替え』
WINDOW ZOOM コマンド
指定された論理ウィンドウを拡張して全体の画面にするか、あるいは現在定義されている物理ウィンドウ構成に画面を復元します。論理ウィンドウは、物理ウィンドウに割り当てる必要はありません。このコマンドにより、物理ウィンドウへの再割り当てを行わずに論理ウィンドウを表示するための便利な手段を提供します。
例えば、MEMORY ウィンドウと LOG ウィンドウは同時に表示できないため、メモリー・ウィンドウを該当物理ウィンドウに割り当てたまま、WINDOW ZOOM LOG コマンドを使用してログ・ウィンドウを表示できます。
- CURSOR
- カーソルが現在位置付けられている場所 (コマンド行以外) のウィンドウ
を選択します。
- LOG
- セッション・ログ・ウィンドウを選択します。
- MEMORY
- メモリー・ウィンドウを選択します。
- MONITOR
- モニター・ウィンドウを選択します。
- SOURCE
- ソース・リスト・ウィンドウを選択します。
選択されたウィンドウが現在ズームされている場合、ズーム・モードは切り替わります。すなわち、現在定義されているウィンドウ構成は復元されます。
使用上の注意
WINDOW ZOOM コマンドはログに記録されません。
例
ログ・ウィンドウを拡張します。
WINDOW ZOOM LOG;
CICS 以外の
環境では、非言語環境プログラム COBOL プログラム、言語環境プログラム・ランタイムなしで実行されるプログラム、
または MVS の LOAD および LINK マクロを使用して
ロードされたプログラムをデバッグするために、SVC スクリーニングが使用可能になっていなければなりません。
SVC スクリーニングの管理方法についての説明は、「Debug Tool カスタマイズ・ガイド」を参照してください。
|
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)