RPG

282. DEBUG を楽にするコンパイル・テクニック

トラブルが生じたときや WRKACTJOB でプログラム・スタックを調べる場合、
プログラムのどこでエラーになったのかを知ることが重要になる。
「どこ?」とはプログラムの実行ステートメントである。
WRKACTJOB やエラー・ステートメントがエラー・メッセージで
知らされたとしても実はそれはソース・ステートメントではなく
コンパイル・ステートメントであり、そのためソース・ステートメントを
調べるためにもう一度、そのプログラムをコンパイルして
STMT をコンパイル・リストで調べるということになる。

この作業は実に面倒であるし、エラーになったのならコンパイルの
STMT 行ではなくソースの STMT 行を表示してくれたほうが、
はるかにわかりやすいとは思わないだろうか ?

【一般のプログラム・スタック表示】

この STMT をソースの行№の表示に変えてしまう方法がある。
それはコンパイルのときの「コンパイラー・オプション」 ( OPTION ) に
*SRCSTMT 」と指定することである。
これだけで上記の表示は次のようになって
ソース・ステートメント行が表示されるようになる。

これがわかっていたのなら初めから 「 *SRCSTMT 」を指定して
コンパイルしておくのだった!!

障害が起きたときでも直ちにソースのどこの部分でのエラーであるかを
知ることができる。
なかなか有用なテクニックのひとつである。