停止点の検出後、プログラム・オブジェクトまたは ILE プロシージャーの指定された数のステートメントを実行してから、 プログラムを再度停止し、次に「モジュール・ソースの表示」画面に戻ることができます。 プログラム・オブジェクトまたは ILE プロシージャーは、 プログラムが停止したモジュール・オブジェクトの次のステートメントから実行が開始されます。
OPM プログラムに使用可能なデバッグ・データが含まれている場合、およびデバッグ・セッションで OPM プログラムのデバッグが受け入れられる場合は、そのプログラムをステップイントゥできます。
次のものを使用すると、プログラム・オブジェクトまたは ILE プロシージャーをステップスルーすることができます。
プログラム・オブジェクトまたは ILE プロシージャーをステップスルーしてステートメントごとに実行する最も簡単な方法は、 「モジュール・ソースの表示」画面で F10 (ステップ) または F22 (ステップイントゥ) を使用することです。 F10 (ステップ) または F22 (ステップイントゥ) を押すと、 「モジュール・ソースの表示」画面に表示されているモジュール・オブジェクトの次のステートメントが実行され、 プログラム・オブジェクトまたは ILE プロシージャーは再度停止します。 複数のステートメントが含まれている行で F10 (ステップ) または F22 (ステップイントゥ) を押した場合、 その行のすべてのステートメントが実行され、プログラム・オブジェクトまたは ILE プロシージャーは、次の行の次のステートメントで停止します。
プログラム・オブジェクトまたは ILE プロシージャーをステップスルーするもう 1 つの方法は、STEP デバッグ・コマンドを使用することです。 STEP デバッグ・コマンドを使用すると、1 つのステップで複数のステートメントを実行することができます。 STEP デバッグ・コマンドを使用する場合に実行されるステートメント数のデフォルトは 1 です。 STEP デバッグ・コマンドを使用してプログラム・オブジェクトまたは ILE プロシージャーをステップスルーするには、デバッグ・コマンド行で次のように入力します。
STEP number-of-statements
ステートメント数 は、アプリケーションが再停止するまでに次のステップで実行させるステートメントの数です。たとえば、デバッグ・コマンド行に次のように入力します。
STEP 5
この場合、プログラム・オブジェクトまたは ILE プロシージャーのうち、その次の 5 つのステートメントが実行された後に、 プログラム・オブジェクトまたは ILE プロシージャーは再度停止し、続いて「モジュール・ソースの表示」画面が表示されます。
デバッグ・セッション内で他のプログラム・オブジェクトまたは ILE プロシージャーに指定された CALL ステートメントが検出された場合、次のことを行うことができます。
呼び出し先のプログラム・オブジェクトまたは ILE プロシージャーのステップオーバーを選択した場合、CALL ステートメントと呼び出し先プログラム・オブジェクトとが、1 つのステップとして実行されます。 呼び出し先のプログラム・オブジェクトまたは ILE プロシージャーは、呼び出し側プログラム・オブジェクトまたは ILE プロシージャーが次のステップで停止するまで実行されます。 ステップオーバーは、デフォルトのステップ・モードです。
呼び出し先のプログラム・オブジェクトまたは ILE プロシージャーのステップイントゥを選択した場合、 その呼び出し先のプログラム・オブジェクトまたは ILE プロシージャーの各ステートメントが 1 つのステップとして実行されます。 実行中のプログラム・オブジェクトまたは ILE プロシージャーが停止する次のステップが、呼び出し先のプログラム・オブジェクトまたは ILE プロシージャー内にある場合、 呼び出し先のプログラム・オブジェクトまたは ILE プロシージャーはその時点で停止し、「モジュール・ソースの表示」画面にその呼び出し先のプログラムまたは ILE プロシージャーが表示されます。
プログラム・オブジェクトまたは ILE プロシージャーをステップオーバーするには、以下のものを使用します。
「モジュール・ソースの表示」画面で F10 (ステップ) を使用すると、 デバッグ・セッション内の呼び出されたプログラム・オブジェクトまたは ILE プロシージャーをステップオーバーすることができます。 次に実行するステートメントが他のプログラム・オブジェクトまたは ILE プロシージャーへの CALL ステートメントである場合、F10 (ステップ) を押すと、 呼び出し先のプログラム・オブジェクトまたは ILE プロシージャーは、呼び出し側プログラム・オブジェクトまたは ILE プロシージャーが再び停止するまで最後まで実行されます。
別の方法として、STEP OVER デバッグ・コマンドを使用して、デバッグ・セッション内の呼び出し先のプログラム・オブジェクトまたは ILE プロシージャーをステップオーバーすることができます。 STEP OVER デバッグ・コマンドを使用するには、デバッグ・コマンド行で次のように入力します。
STEP number-of-statements OVER
ステートメント数 は、アプリケーションが再停止するまでに次のステップで実行させるステートメントの数です。 実行するステートメントのどれかに、他のプログラム・オブジェクトまたは ILE プロシージャーへの CALL ステートメントが含まれている場合、ILE ソース・デバッガーは、呼び出し先のプログラム・オブジェクトまたは ILE プロシージャーをステップオーバーします。
プログラム・オブジェクトまたは ILE プロシージャーをステップイントゥするには、以下のものを使用します。
「モジュール・ソースの表示」画面で F22 (ステップイントゥ) を使用すると、 デバッグ・セッション内の呼び出されたプログラム・オブジェクトまたは ILE プロシージャーをステップイントゥすることができます。 次に実行するステートメントが他のプログラム・オブジェクトまたは ILE プロシージャーへの CALL ステートメントである場合に F22 (ステップイントゥ) を押すと、 呼び出し先のプログラム・オブジェクトまたは ILE プロシージャーの最初の実行可能ステートメントが実行されます。 その後、プログラム・オブジェクトまたは ILE プロシージャーが「モジュール・ソースの表示」画面に表示されます。
別の方法として、STEP INTO デバッグ・コマンドを使用して、デバッグ・セッション内の呼び出し先のプログラム・オブジェクトまたは ILE プロシージャーをステップイントゥすることができます。 STEP INTO デバッグ・コマンドを使用するには、デバッグ・コマンド行で次のように入力します。
STEP number-of-statements INTO
ステートメント数 は、プログラム・オブジェクトまたは ILE プロシージャーが再停止するまでに次のステップで実行したいプログラム・オブジェクトまたは ILE プロシージャーのステートメントの数です。 実行するステートメントのどれかに、他のプログラム・オブジェクトまたは ILE プロシージャーへの CALL ステートメントが含まれている場合、 デバッガーは、呼び出し先のプログラム・オブジェクトまたは ILE プロシージャーをステップオーバーします。 ステップの中で、呼び出し先のプログラム・オブジェクトまたは ILE プロシージャーの各ステートメントがカウントされます。 呼び出し先のプログラム・オブジェクトまたは ILE プロシージャー内でステップが終了する場合、 そのプログラム・オブジェクトまたは ILE プロシージャーが「モジュール・ソースの表示」画面に表示されます。 たとえば、デバッグ・コマンド行に次のように入力します。
STEP 5 INTO
この場合、プログラム・オブジェクトまたは ILE プロシージャーの次の 5 つのステートメントが実行されます。 3 番目のステートメントが他のプログラム・オブジェクトまたは ILE プロシージャーへの CALL ステートメントである場合、 呼び出し側プログラム・オブジェクトまたは ILE プロシージャーの 2 つのステートメントが実行され、呼び出し先のプログラム・オブジェクトまたは ILE プロシージャーの最初の 3 つのステートメントが実行されます。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.