プログラムのデバッグ
デバッグによって、プログラム内の実行時エラーを検出、診断、および 除去することができます。 ILE ソースを使用して、ILE プログラムおよび OPM プログラムをデバッグすることができます。
Rational® Developer for i でデバッガーを使用します。これは推奨される方法であり、プログラムのデバッグに関する資料が製品のオンライン・ヘルプに記載されています。IBM® i 上で実行されているプログラムをワークステーション上のグラフィカル・ユーザー・インターフェースからデバッグできます。
また、デバッガーの実行前に、ソース中に直接停止点を設定
することができます。
統合 Rational Developer for i・ユーザー・インターフェースでは、プログラム実行を制御することもできます。例えば、プログラムの実行、行の設定、ウォッチができ、またエントリー・ポイント・ブレークポイントの設定、
プログラム命令のステップスルー、変数の値の表示、およびコール・スタック内容の表示ができます。
また、異なる言語で作成された複数のアプリケーションであっても、単一のウィンドウで
デバッグできます。デバッグする各セッションは、「デバッグ」ビュー内に個別に表示されます。
- デバッグのために ILE RPG プログラムを準備する
- デバッグ・セッションを開始する
- デバッグ・セッションでプログラムを追加および除去する
- デバッグ・セッションからプログラム・ソースを表示する
- ブレークポイントおよびウォッチ条件を設定および除去する
- プログラムをステップスルーする
- フィールドの値を表示し変更する
- フィールドの属性を表示する
- 簡略名をフィールド、式、またはデバッグ・コマンドに対応させる
プログラムのデバッグおよびテスト中、既存の実際のデータが影響を受け ることのないように、プログラムがテスト・データの入っている テスト・ライブラリーを指定するようにライブラリー・リストを変更してください。
- デバッグ開始 (STRDBG) コマンドを使用して、UPDPROD パラメーターを デフォルトの *NO のままにしておきます。
- デバッグ変更 (CHGDBG) コマンドを使用して、 UPDPROD パラメーターを *NO に指定します。
- 「モジュール・ソースの表示」画面の SET デバッグ・コマンドを使用して、 UPDPROD NO を指定します。
(プログラムまたはサービス・プログラムのデバッグに必要な権限、および最適レベルの効果を含め) ILE ソースの詳細については、「ILE 概念」のデバッグに関する章を参照してください。
- ===> CRTBNDRPG QTEMP/PROOF DBGVIEW(*ALL)
- ===> STRDBG QTEMP/PROOF
- 計算行にカーソルを置き、F6 を押してブレークポイントを設定します。
- F12 で「DSPMODSRC」画面を終了します。
- ===> CALL QTEMP/PROOF
ブレークポイント行が強調表示されたソースが再度表示されます。
- カーソルをプログラム・ソース (定義仕様書、入力仕様書、計算仕様書または出力仕様書) 内の変数上に移動し、F11 を押します。 画面の下部に変数の値が表示されます。
- F10 を押してプログラムの残りをステップスルーするか、または F12 を押して最後まで実行します。
ブレークポイントを設定した後に、プログラムを直接呼び出す必要はありません。 最終的にプログラムを呼び出すことになるアプリケーションを開始します。
プログラム全体をステップスルーする場合には、入出力仕様書をステップスルーすることになります。 入出力仕様書をスキップするには、ヘッダー仕様書またはプログラムのコンパイル時に OPTION(*NODEBUGIO) を指定します。
これらのステップの詳細は本章内で後述します。