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 キーワードは、追加のデバッグ・エイドを制御します。