DEBUG-ITEM 特殊レジスターは、デバッグ・セクションの実行の原因となった条件に関する情報を、デバッグ宣言型プロシージャーに提供します。
DEBUG-ITEM には、次のような暗黙の記述があります。
01 DEBUG-ITEM.
02 DEBUG-LINE PICTURE IS X(6).
02 FILLER PICTURE IS X VALUE SPACE.
02 DEBUG-NAME PICTURE IS X(30).
02 FILLER PICTURE IS X VALUE SPACE.
02 DEBUG-SUB-1 PICTURE IS S9999 SIGN IS LEADING SEPARATE CHARACTER.
02 FILLER PICTURE IS X VALUE SPACE.
02 DEBUG-SUB-2 PICTURE IS S9999 SIGN IS LEADING SEPARATE CHARACTER.
02 FILLER PICTURE IS X VALUE SPACE.
02 DEBUG-SUB-3 PICTURE IS S9999 SIGN IS LEADING SEPARATE CHARACTER.
02 FILLER PICTURE IS X VALUE SPACE.
02 DEBUG-CONTENTS PICTURE IS X(n).
各デバッグ・セクションが実行される前に、DEBUG-ITEM はスペースで埋められます。 DEBUG-ITEM サブフィールドの内容は MOVE ステートメントの規則に従って更新されます。ただし、1 つの例外があります。それは、 データの内部表示の形式を別の形式に変換しないで、 移動が英数字間の基本移動であるかのように DEBUG-CONTENTS が更新されるということです。
更新後、DEBUG-ITEM サブフィールドの内容は以下のようになります。
| デバッグ・セクションの実行の原因 | DEBUG-LINE で参照されるステートメント | DEBUG-NAME の内容 | DEBUG-CONTENTS の内容 |
|---|---|---|---|
| プロシージャー名-1 ALTER 参照 | ALTER ステートメント | プロシージャー名-1 | TO PROCEED TO 句の中のプロシージャー名-n |
| GO TO プロシージャー名-n | GO TO ステートメント | プロシージャー名-n | スペース |
| SORT または MERGE 入出力プロシージャーの中のプロシージャー名-n | SORT ステートメントまたは MERGE ステートメント | プロシージャー名-n | “SORT INPUT”
“SORT OUTPUT” “MERGE OUTPUT” (いずれか該当するもの) |
| PERFORM ステートメントの制御移動 | この PERFORM ステートメント | プロシージャー名-n | “PERFORM LOOP” |
| USE プロシージャーの中の プロシージャー名-n | USE プロシージャーの実行を引き起こすステートメント | プロシージャー名-n | “USE PROCEDURE” |
| 1 つ前の順番のプロシージャーからの暗黙の移動 | 1 つ前の順番のプロシージャーで実行された前のステートメント 1 | プロシージャー名-n | “FALL THROUGH” |
| 最初の非宣言型プロシージャーの最初の実行 | 最初の非宣言型プロシージャー名の行番号 | 最初の非宣言型プロシージャー | “START PROGRAM” |
|
|||