問題のモジュールのコンパイラー・リストから分かるステートメント番号を使って、 条件付きまたは無条件のジョブ・ブレークポイントを設定、または削除 します。DBGVIEW(*STMT) を用いて作成されたモジュールをデバッグしたい場合には、これが必要です。
BREAK デバッグ・コマンドを使って無条件ジョブ・ブレークポイントを設定するには、デバッグ・コマンド行に、
BREAK procedure-name/statement-number
と入力します。変数 procedure-name は、ブレークポイントを設定する プロシージャーの名前です。 ILE RPG では、1 つのモジュールにつき複数のプロシージャーが許されるため、procedure-name は、メイン・プロシージャーの名前でも、モジュール内のサブプロシージャーの 1 つでもかまいません。変数 statement-number はブレークポイントを設定したいコンパイラー・リストからの ステートメント番号です。
行 <----------------------------- ソースの仕様 --------------------------------------------------><------ 注記 ------> SRC SEQ 番号 ....1....+....2....+<-------- 26 - 35 -------->....4....+....5....+....6....+....7....+....8....+....9....+...10 ID 番号 ソ ー ス ・ リ ス ト 1 C MOVE '123' BI_FLD1 000100 2 C SETON LR---- 000200 * * * * * ソ ー ス の 終 わ り * * * * *
SEQ <-------------------------- ソースの仕様 --------------------------------------------------><------ 注記 ------> STATEMENT 番号 ....1....+....2....+<-------- 26 - 35 -------->....4....+....5....+....6....+....7....+....8....+....9....+...10 番号 ソ ー ス ・ リ ス ト 000100 C MOVE '123' BI_FLD1 000100 000200 C SETON LR---- 000200 * * * * * ソ ー ス の 終 わ り * * * * *
この例では、プロシージャー TEST についてブレークポイントを設定するのにステートメント・ビュー が使用されています。*NOSRCSTMT リストを使用してモジュールのブレークポイントを設定す るためには、次のように入力します。
BREAK TEST/2
*SRCSTMT リストを使用してモジュールのブレークポイントを設定す るためには、次のように入力します。
BREAK TEST/200
いずれの場合も、ブレークポイントは 'SETON LR----' 行に設定されま す。
モジュール・ソースの表示
PROGRAM: TEST LIBRARY: MYLIB MODULE: TEST
(ソースを使用することができない)
終わり
デバッグ. . break TEST/2_____________________________________________________
_______________________________________________________________________________
F3=終了プログラム F6=停止点の追加/消去 F10=ステップ F11=変数の表示
F12=再開 F17=ウォッチ変数 F18=ウォッチの処理 F24=キーの続き
停止点がプロシージャー TEST のステートメント 2 に追加されました。
その他のすべてのデバッグ・ビューについて、デバッガー内でプログラムの行番号 の ほかにステートメント番号を使用できます。例えば、以下のリスト・ビューの サブプロシージャーの始めにブレークポイントを設定するには、次のように入力します。
BREAK 34
または
BREAK FmtCust/2600
いずれの場合も、ブレークポイントは 'P FmtCust B' 行に設定されます。
モジュール・ソースの表示
PROGRAM: MYPGM LIBRARY: MYLIB MODULE: MYPGM
33 002500 * Begin-procedure
34 002600 P FmtCust B
35 002700 D FmtCust PI 25A
36 002800 * Procedure-interface (same as the prototype)
37 002900 D FirstName 10A
38 003000 D LastName 15A
39 003100 D ValidRec N
40 003200 * Calculations
41 003300 C IF ValidRec = '0'
42 003400 C RETURN %TRIMR(FirstName) + ' ' + Last
43 003500 C ENDIF
44 003600 C RETURN 'Last Customer'
45 003700 * End-procedure
46 003800 P E
47 *MAIN PROCEDURE EXIT
終わり
デバッグ . . BREAK fmtcust/2600_______________________________________________
_______________________________________________________________________________
F3=プログラムの終了 F6=停止点の追加/消去 F10=ステップ F11=変数の表示
F12=再開 F17=ウォッチ変数 F18=ウォッチの処理 F24=キーの続き
停止点が行 34 に追加されました。
BREAK デバッグ・コマンドを使って条件付きジョブ・ブレークポイントを設定する には、デバッグ・コマンド行に次のように入力します。
BREAK procedure-name/statement-number WHEN expression
と入力します。変数の procedure-name および statement-number は 無条件ブレークポイントのものと同じです。 変数の expression はブレークポイントに達した時に評価される条件式です。
CLEAR デバッグ・コマンドを使って無条件ブレークポイントまたは条件付きブレークポイントを除 去するためには、デバッグ・コマンド行に次のように入力します。
CLEAR procedure-name/statement-number
と入力します。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.