無条件ジョブ・ブレークポイントの設定および除去

以下を使って、無条件ジョブ・ブレークポイントを設定、または除去することが できます。

無条件ジョブ・ブレークポイントの設定および除去する最も簡単な方法は、F6 (ブレークポイントの追 加 / 消去) を使うことです。この機能キーはキーとして機能するので、カーソルのある行にブレークポイント が既に設定されている場合にはその行からブレークポイントを除去します。

F13 (モジュール・ブレークポイントの処理) を使って無条件ジョブ・ブレークポイントを除去するには 、「モジュール・ソースの表示」画面から F13 (モジュール・ブレークポイントの処理) を 押します。ブレークポイントを設定または除去することができるオプションのリストが 表示されます。 4 (消去) を選ぶと、ジョブ・ブレークポイントが その行から除去されます。

無条件ジョブ・ブレークポイントを設定・除去するもう 1 つの方法は、BREAK および CLEAR デバッグ・ コマンドを使うことです。BREAK デバッグ・コマンドを使って無条件ジョブ・ブレークポイントを設定するには、デバッグ・コマンド行に、

BREAK line-number

と入力します。 変数の line-number は、ブレークポイントを設定したい モジュール・オブジェクトの 現在表示されているビューの行番号です。

CLEAR デバッグ・コマンドを使って無条件ジョブ・ブレークポイントを除去するためには、 デバッグ・コマンド行に、

CLEAR line-number

と入力します。 変数の line-number は、ブレークポイントを除去したいモジュール・オブジェクトが現在表示されているビューの行番号です。ジョブ・ブレークポイントを消去する際は、すべてのスレッドから消去されます。

無条件ジョブ・ブレークポイントの設定例

この例では F6 (ブレークポイントの追加/消去) を使って、無条件ジョブ・ブレークポイントを設定 します。ブレークポイントは最初の実行可能な演算仕様書に設定されるので、各種のフィールドおよび データ構造を表示することができます。

  1. モジュールを処理するためには、DSPMODSRC を入力して、実行キ ーを押してください。 「モジュール・ソースの表示」画面が表示されます。
  2. 表示されたモジュールでジョブ・ブレークポイントを設定したいときは 、ステップ 3 を続けます。別のモジュールでジョブ・ブレークポイントを 設定したいときは、
    DISPLAY MODULE module-name
    とデバッグ・コマンド行で入力します。ここで、module-name は 表示したいモジュールの名前です。
  3. 最初の演算仕様書で無条件ブレークポイントを設定するために、カーソル を行 88 に置いてください。
  4. F6 (ブレークポイントの追加/消去) キーを押してください。 行 88 にブレークポイントがなければ 、図 101 に示すように、無条件ブレークポイントがその行に設定されます。 その行に ブレークポイントがある場合には、除去されます。
    注:
    最初の 演算仕様書でブレークポイントが必要なのですから、カーソルを 演算仕様書の開始前のいずれかの行に位置付けることもでき、 行 88 は最初の実行可能ステートメントであるためにブレークポイントは その行に設定されることになります。
    図 101. 無条件ジョブ・ブレークポイントの設定
                                 モジュール・ソースの表示
     PRPGRAM:   DEBUGEX        LIBRARY:   MYLIB          MODULE:   DBGEX
         84        *-------------------------------------------------------------------
         85        * 'A' をデータ構造 DS2 に転送します。転送後、DS2 の
         86        * 最初のオカレンスには 10 桁の 'A' が入っています。
         87        *-------------------------------------------------------------------
         88       C                   MOVE      *ALL'a'       DS2
         89
         90        *-------------------------------------------------------------------
         91        * DS2 のオカレンスを 2 に変更して、'B' を DS2 に転送すると
         92        * 最初の 10 バイトが 'A' になり、次の 10 バイトが 'B' になります。
         93        *-------------------------------------------------------------------
         94       C     2             OCCUR     DS2
         95       C                   MOVE      *ALL'b'       DS2
         96
         97        *-------------------------------------------------------------------
         98        * FILD1A は FILD1 のオーバーレイ・フィールドです。  FILD1 は初期設定。
                                                                                続く...
     デバッグ . . _____________________________________________________________________
    ___________________________________________________________________________________
     F3=終了プログラム  F6=停止点の追加/消去  F10=ステップ  F11=変数の表示
     F12=再開           F17=ウォッチ変数  F18=ウォッチの処理   F24=キーの続き
     停止点が行 88 に追加されました。 
  5. ブレークポイントが設定されたら、F3 (終了) キーを押して「モジュール・ソース 表示」画面を終了してください。ブレークポイントは除去されません。
  6. プログラムを呼び出してください。ブレークポイントに達するとプログラムは停止し、 ブレークポイントのある行が強調表示されて、「モジュール・ソースの表示」画面が 再び表示されます。この時点で、プログラムをステップスルーするか、あるいは処理を再開するこ とができます。