プログラムのデバッグ

デバッグによって、プログラム内の実行時エラーを検出、診断、および 除去することができます。 ILE ソース・デバッガーを使用して、ILE プログラムおよび OPM プログラムを デバッグすることができます。

WebSphere Development Studio Client for iSeries を使用します。 これは推奨される方法であり、プログラムのデバッグに関する説明は、製品のオンライン・ヘルプに記載されています。 統合 iSeries デバッガーを使用すると、サーバー上で実行されるプログラムをワークステーション上の グラフィカル・ユーザー・インターフェースからデバッグできます。 また、デバッガーを実行する前にソース内にブレークポイントを直接設定することもできます。 統合 iSeries デバッガー・クライアント・ユーザー・インターフェースでは、プログラム実行を制御することもできます。 例えば、プログラムの実行、行の設定、ウォッチができ、またエントリー・ポイント・ブレークポイントの設定、 プログラム命令のステップスルー、変数の値の表示、およびコール・スタック内容の表示ができます。 また、異なる言語で記述された複数のアプリケーションであっても、単一のデバッガー・ウィンドウでデバッグできます。 デバッグする各セッションは、「デバッグ」ビュー内に個別に表示されます。

この章では、ILE ソース・デバッガーを使用して次のことを行う方法に ついて説明します。

プログラムのデバッグおよびテスト中、既存の実際のデータが影響を受け ることのないように、プログラムがテスト・データの入っている テスト・ライブラリーを指定するようにライブラリー・リストを変更してください。

次のコマンドのいずれかを使用して、プロダクション・ライブラリー中のデータベース・ファイルが、 意図せずに変更されてしまうのを防ぐことができます。

(プログラムまたはサービス・プログラムのデバッグに必要な権限、および 最適化レベルの効果を含め) ILE ソース・デバッガーについて詳しくは 、「ILE 概念」のデバッグの章を参照してください。

デバッガーの使用に慣れていない場合は、以下のステップに従ってプログラムを作成およびデバッグしてください。 プログラム PROOF 用のソースはすべてのシステムの QGPL 内にあります。

  1. ===> CRTBNDRPG QTEMP/PROOF DBGVIEW(*ALL)
  2. ===> STRDBG QTEMP/PROOF
  3. 計算行にカーソルを置き、F6 を押してブレークポイントを設定します。
  4. F12 で「DSPMODSRC」画面を終了します。
  5. ===> CALL QTEMP/PROOF

    ブレークポイント行が強調表示されたソースが再度表示されます。

  6. カーソルをプログラム・ソース (定義仕様書、入力仕様書、計算仕様書または出力仕様書) 内の変数上に移動し、F11 を押します。 画面の下部に変数の値が表示されます。
  7. F10 を押してプログラムの残りをステップスルーするか、または F12 を押して最後まで実行します。

ブレークポイントを設定した後に、プログラムを直接呼び出す必要はありません。 最終的にプログラムを呼び出すことになるアプリケーションを開始します。

プログラム全体をステップスルーする場合には、入出力仕様書をステップスルーすることになります。 入出力仕様書をスキップするには、ヘッダー仕様書またはプログラムのコンパイル時に OPTION(*NODEBUGIO) を指定します。

これらのステップの詳細は本章内で後述します。