ジョブ待ち行列に投入されたバッチ・ジョブのデバッグ

ジョブ待ち行列に投入されたバッチ・ジョブのデバッグに他のジョブを用いることによって、バッチ・ジョブを処理の開始前にデバッグ・モードにして、ブレークポイントおよびトレースを設定することができます。

ジョブ待ち行列に投入されるバッチ・ジョブをデバッグする手順は以下のとおりです。

  1. Submit Job (SBMJOB) コマンドを使用するか、HOLD (*YES) を指定してジョブを自動的に実行依頼するプログラムを使用して、バッチ・ジョブを実行依頼します。
    
    SBMJOB HOLD(*YES)
    
  2. Work with Submitted Jobs (WRKSBMJOB) コマンドまたは Work with Job Queues (WRKJOBQ) コマンドを使用して、ジョブに割り当てられた修飾ジョブ名 (number/user/name) を判別します。 Submit Job (SBMJOB) コマンドは、コマンドが処理を終了すると、完了メッセージに名前も表示します。

    WRKJOBQ (Work With Job Queue) コマンドは、特定のジョブ待ち行列で開始を待機しているすべてのジョブを表示します。 該当するジョブに対してこの画面からオプション 5 を選択すると、 そのジョブ名が得られます。

  3. バッチ・ジョブのデバッグに使用する予定の画面から、次のように Start Service Job (STRSRVJOB) コマンドを入力します。
    
    STRSRVJOB JOB(qualified-job-name)
    
  4. STRDBG コマンドを入力して、デバッグしたいすべてのプログラムの名前を指定する。 対象のジョブがジョブ待ち行列上で待機中の間は、 これ以外のデバッグ・コマンドは入力できません。
  5. Release Job Queue (RLSJOBQ) コマンドを使用して、ジョブ待ち行列を解放します。 該当のジョブが開始可能になると、そのジョブのデバッグを開始できることを示す画面が表示されます。 F10 キーを押してコマンド入力画面を表示してください。
  6. Add Breakpoint (ADDBKP) コマンドや Add Trace (ADDTRC) コマンドなどのデバッグ・コマンドを入力するには、コマンド入力画面を使用します。
  7. F3 キーを押してコマンド入力画面を終了させ、 実行キーを押してそのバッチ・ジョブを開始させる。
  8. そのジョブがブレークポイントで停止すると、通常のブレークポイント表示画面が表示されます。 ジョブが終了した時点では、ブレークポイントおよびトレースを追加することはできません。 また、変数を表示したり変更することもできません。 ただし、 Display Trace Data (DSPTRCDTA) コマンドを使用して、任意のトレース・データを表示することができます。
  9. 別のバッチ・ジョブをデバッグしたい場合は、まず End Debug (ENDDBG) コマンドを使用してデバッグを終了してから、 End Servicing Job (ENDSRVJOB) コマンドを使用してジョブのサービスを終了します。