DEBUG {(*INPUT | *DUMP | *XMLSAX | *NO | *YES) }
DEBUG キーワードは、どのデバッグ・エイドがモジュールに生成されるかを制御します。
DEBUG キーワードが 1 つ以上の *INPUT、DUMP、または *XMLSAX パラメーターとともに指定されている場合は、どのデバッグ・エイドをモジュールに生成するかを正確に選択できます。DEBUG キーワードが *YES または *NO とともに指定されている場合は、これ以外のパラメーターを指定することはできません。
- *INPUT
- すべての外部記述入力フィールドが、プログラムで使用されていない場合でも、入力操作中に読み取られます。 通常、外部記述入力フィールドは、プログラム内で別の方法で使用される 場合のみ、入力操作時に読み取られます。
- *DUMP
- DUMP 命令が実行されます。
注: DEBUG 命令コードで命令拡張 A を指定することによって、DUMP 命令を強制的に実行できます。 この命令拡張は、DEBUG キーワードの値にかかわらず必ずダンプを実行することを意味します。
- *XMLSAX
- 名前 _QRNU_XMLSAX を持つ配列は、デバッグ・ビューがある場合
(*NONE 以外の DBGVIEW パラメーターに値を付けてコンパイルした場合)、モジュールに生成されます。
配列の値は接頭部「*XML_」なしの *XML 特殊語の名前です。
例えば、*XML_START_DOCUMENT の値が 1 の場合、_QRNU_XMLSAX(1) の値は「START_DOCUMENT」になります。サンプル・デバッグ・セッション:
> EVAL event EVENT = 2 > EVAL _QRNU_XMLSAX(event) _QRNU_XMLSAX(EVENT) = 'END_DOCUMENT '
DEBUG キーワードが *NO を付けて指定されている場合は、モジュールにはデバッグ・エイドは生成されないことを示しています。 これは、DEBUG キーワードを完全に省略した場合と同じです。*NO が指定されている場合は、これ以 外のパラメーターは指定できません。
DEBUG キーワードが *YES を付けて指定されているか、パラメーターなしで指定されている場合は、 DEBUG(*INPUT : *DUMP) を指定した場合と同じです。*YES が指定されている場合は、これ以外のパラメーターは指定できません。 値 *YES は、互換性のために残されています。*INPUT、*DUMP、および *XMLSAX など、 値をより細かく指定することが推奨されています。
例:
* 1. All of the debugging aids are available
H DEBUG(*INPUT : *DUMP : *XMLSAX)
* 2. None of the debugging aids are available
H DEBUG(*NO)
* 3. Only the debugging aid related to input fields is available
H DEBUG(*INPUT)
* 4. The debugging aids related to the DUMP operation and
* to XML-SAX parsing are available
H DEBUG(*XMLSAX : *DUMP)
注: DEBUG キーワードは、デバッグ可能なモジュールを作成するかどうかは制御しません。
これは、CRTBNDRPG または CRTRPGMOD コマンドの DBGVIEW パラメーターによって制御されます。DEBUG キーワードは、追加のデバッグ・エイドを制御します。