ILE RPG 定様式ダンプの入手

プロシージャーの実行中にプロシージャーの ILE RPG 定様式ダンプ (記憶域の印刷出力) を作成するためには、次のことを行うことができます。
  • 演算仕様書に 1 つまたは複数の DUMP 命令コードをコーディングする。
  • 実行時メッセージに D または F オプションで応答する。 また、自動応答でもダンプを使用可能に することができます。 資料「CL プログラミング」で『System Reply List』を参照してください。

定様式ダンプには、フィールドの内容、データ構造の内容、配列および テーブルの内容、ファイル情報データ構造、およびプログラム状況データ構造が含ま れます。 ダンプは QPPGMDMP という名前のファイルに書き出されます (システムの 異常時ダンプはファイル QPSRVDMP に書き出されます)。

ILE RPG 実行時メッセージに F オプションで応答すると、そのダンプにはオープン・データ・パス (ODP、データ管理制御ブロック) の 16 進表示も含まれます。

ダンプ情報には、モジュールと関連したグローバル・データが含まれます。 サイクル・メイン・プロシージャーが活動状態であるかどうかによって、 グローバル・データは、*INZSR の処理中に割り当てられた値を表さない場合があります。プログラムが複数のプロシージャーから成っている場合には、定様式ダンプ中 の情報はダンプ要求時に活動状態であったすべての プロシージャー についての情報も反映します。 プロシージャーが活動状態になっていない場合には、自動記憶域の変数の値は 有効ではありません。 プロシージャーがまだ呼び出されていない場合には、静的記憶域はまだ 初期設定されません。 プロシージャーが反復して呼び出される場合には、最新呼び出しの情報だけが表 示されます。

ダンプ・データが使用できない場合、次の 2 つの原因があります。
  • プログラム・オブジェクトが、デバッグ・ビュー *NONE を指定して作成されている場合。 ダンプに含まれるのは、PSDS (プログラム状況データ構造)、ファイル情報、および *IN 標識だけになります。
  • 単一の変数または構造が 16 MB を超えるダンプ・データを必要とする場合。 これは一般に、5 MB より大きい変数または構造の場合に発生します。
定様式ダンプ内の、プログラムの変数の値をユーザーから隠蔽するには、以下のいずれかを行います。
  • プログラム識別情報を除去することにより、プログラム内のデバッグ・データをなくします。
  • 定様式ダンプを実行するのではなく、プログラムを実行する十分な権限をユーザーに与えます。 *OBJOPR および *EXECUTE 権限を与えることによって、これを実行します。