デバッグするときは、以下の点について定期的に検査することが有効です。
これらの作業を行うには、組み込み関数や、PUT DATA および PUT LIST ステートメント、表示ステートメントを使用します。これらの方法について、以降のセクションで詳細に説明します。
display (procname() || sourceline());
Debug: Proc(x);
dcl x fixed bin(31);
on fixedoverflow
begin;
put skip list('Fixedoverflow raised because z = '||z);
end;
end;
get list(z);
x = 8 * z;
z が大きすぎる場合は、その値に 8 を掛けると、FIXED BIN(31) 変数には大きすぎる値になるため、FIXEDOVERFLOW 条件が発生します。PUT SKIP LIST は、データ (この場合はストリング「Fixedoverflow raised because z = ...」) をデフォルト・ファイル SYSPRINT に送信します。SYSPRINT を定義するには、export DD= ステートメントを使用します。SYSPRINT 使用の詳細については、SYSIN ファイルおよび SYSPRINT ファイルの使用方法を参照してください。
put data (string1, string2);
Display ('End of job!');
Display ('Reached the MATH procedure');
Display ('Hurrah! Got past the string manipulation stuff...');
DISPLAY と PUT ステートメントを同時に使用した場合は、予測不能な順序で出力されます。DISPLAY ステートメント使用の詳細については、DISPLAY ステートメントの入出力を参照してください。