これ以降のセクションでは、ビルド記述子および EGL 設定の相互作用について説明します。
ブレークポイントは、 除去されない限り、デバッグ・セッションから次のデバッグ・セッションに渡って記憶されます。
ブレークポイントを、ブランク行またはコメント行に設定することはできません。
EGL デバッガーはワークベンチ内のすべてのプロジェクト内で受信プログラムを検索します。
コードがプログラムに転送されると、 デバッガーはそのプログラム内の最初の文で停止します。
transfer to a transaction 書式の show 文または transfer 文のいずれかの後、 EGL デバッガーは新規プログラム用のビルド記述子に切り替えるか、または (ビルド記述子が使用されていない場合は) 新規ビルド記述子の作成プロンプトを出します。 新規プログラムは、以前に実行されたプログラムとは異なるプロパティー・セットを持つことができます。
EGL デバッガーはワークベンチ内のすべてのプロジェクト内で受信プログラムを検索します。
コードがプログラムに転送されると、 デバッガーはそのプログラム内の最初の文で停止します。
transfer to a transaction 書式の show 文または transfer 文のいずれかの後、 EGL デバッガーは新規プログラム用のビルド記述子に切り替えるか、または (ビルド記述子が使用されていない場合は) 新規ビルド記述子の作成プロンプトを出します。 新規プログラムは、以前に実行されたプログラムとは異なるプロパティー・セットを持つことができます。
EGL デバッガーはワークベンチ内のすべてのプロジェクト内で受信プログラムを検索します。
バリデーター関数で step return コマンドを実行する場合、例外が有効になります。その場合、振る舞いは step into コマンドの振る舞いと同一になります。つまり、主に EGL デバッガーが次の文を実行して休止することを意味します。
例えば、これらの文にブレークポイントを追加できますが、step into コマンドは後続の文に続けて実行されるだけで、他の文は影響を受けません。
最後に、関数で実行されている最後の文に step into または step over のコマンドを実行する (および、その文が return、exit program、または exit stack でない) と、関数にローカルな変数を検討できるように、処理は関数内で自ら休止します。この場合、デバッグ・セッションを継続するには、別のコマンドを実行します。
Java 環境において、テキスト・アプリケーションまたはバッチ・アプリケーションでの使用が意図されたプログラムをデバッグする場合、およびそのプログラムが Java 環境における異なる実行単位で使用が意図されたプログラムに制御を切り替える transfer 文を実行する場合、EGL デバッガーは、受信プログラムに割り当てられたビルド記述子を使用します。ビルド記述子の選択項目は、 以前に説明した規則に基づきます。
コードのデバッグに使用するビルド記述子またはリソース関連パーツは、コードの生成に使用するものとは異なる可能性があります。
SQL データベースにアクセスするために使用するユーザー ID とパスワードは、デバッグ中にリモート呼び出しを行うのに使用するユーザー ID とパスワードとは別です。デバッグ中にリモート呼び出し用のユーザー ID とパスワードを設定するには、『EGL デバッガーの設定』を参照してください。
デバッガーが EGL ソース・コードを実行する場合、呼び出し側から step into コマンドを実行することによって、そのプログラム内で文を実行できます。 ただし、デバッガーが生成済みコードを呼び出す場合、デバッガーはプログラム全体を実行して、step into コマンドは step over コマンドのように機能します。
システム・タイプの値は、sysVar.systemType で使用できます。また、2 番目の値は、VisualAge Generator との開発時間互換性を要求した場合に、VGLib.getVAGSysType で使用できます。
システム関数 VGLib.getVAGSysType は、VisualAge Generator に相当する sysLib.systemType の値を戻します。詳細については、『VGLib.getVAGSysType』のテーブルを参照してください。
EGL デバッガーは、Eclipse ワークベンチとの通信を確立するためにポートを使用します。デフォルトのポート番号は 8345 です。別のアプリケーションがこのポートを使用している場合やファイアウォールによってポートがブロックされている場合は、『EGL デバッガーの設定の変更』の説明に従い別の値を設定してください。
if (systemType not debug) sysLib.commit(); end
-Dcom.ibm.debug.egl.port=portNumber
関連概念
VisualAge Generator との互換性
EGL デバッガーの文字エンコード・オプション
VSAM サポート