COBOL2002 使用の手引 操作編


2.2.1 プログラムの中断

テスト中のプログラムの実行を任意に中断させることができます。中断させた状態で,次の操作をし,プログラムを調査できます。

プログラムを中断させるには,次の方法があります。

また,ラインモードでは,次の場合にもプログラムを中断させます。

〈この項の構成〉

(1) 中断点の設定による中断

プログラムの実行を,任意の個所で中断させるには,中断点を設定します。中断点を設定すると,実行中のプログラムが中断点に達したときに,中断状態になります。中断中は,中断状態で実行できるTDコマンドだけを指定できます。処理が繰り返し実行されるような個所に中断点を設定する場合は,スキップ回数を指定できます。この指定によって,不要な中断回数を減らすことができ,効率良くプログラムをテストできます。

TDコマンドの場合,SET BREAKコマンドやRESET BREAKコマンドで,中断点を設定したり,解除したりできます。SET BREAKコマンドおよびRESET BREAKコマンドの詳細については,「5.4 TDコマンドの詳細」の「5.4.1 SET BREAK/RESET BREAK(中断点の設定と解除)」を参照してください。

(2) データ監視条件の設定による中断

データの値を監視し,その状態によってプログラムを中断できます。監視したいデータの値に条件式を指定することもできます。

TDコマンドの場合,SET WATCHコマンドやRESET WATCHコマンドで,データ監視条件を設定したり,解除したりできます。SET WATCHコマンドおよびRESET WATCHコマンドの詳細については,「5.4 TDコマンドの詳細」の「5.4.3 SET WATCH/RESET WATCH(データ監視条件の設定と解除)」を参照してください。

データ監視条件の設定による中断の詳細は次のとおりです。

注意事項
  • COBOLプログラムの連絡節や局所場所節に定義されたデータ項目および特殊レジスタは,次に示す実行単位ごとに,それぞれ異なるデータとして監視されます。

    ・オブジェクト指向のインスタンス単位

    ・シングルスレッドやマルチスレッドなどのスレッド単位

    ・再帰できるソース要素の再帰単位

注※

再帰できるソース要素とは次のCOBOLプログラムを示します。

  • RECURSIVE指定を伴うプログラム

  • 利用者定義関数

  • メソッド

  • プログラムの中断時に,データ監視条件を設定した場合,監視対象データが参照できればその位置から,参照できなければ参照できる実行時要素に制御が渡ったときにデータの監視が開始されます。

(3) 実行時エラーが発生した場合の中断

ラインモードの場合,実行時エラーが発生したときプログラムが中断します。実行時エラーが発生した文で,プログラムの状態を調べることができます。この中断のための設定は特に必要ありません。

次の条件がすべて当てはまるときに,プログラムが中断します。

AIXの場合,実行時エラーによってユーザプログラムが中断したときは,次の手順でユーザプログラムを続行できます。

  1. データの値を変えるなどのデバッガの操作によって実行時エラーの原因を解決する。

  2. 実行時エラーの原因を解決したあとに,ジャンプまたはジャンプ実行によって,実行時エラーが発生した文を再び実行させる。

ただし,実行時エラーの種類によっては,ジャンプまたはジャンプ実行ができない場合があります。ジャンプまたはジャンプ実行をしないで,ユーザプログラムを続行したときは,ユーザプログラムが終了します。