COBOL2002 ユーザーズガイド

[目次][用語][索引][前へ][次へ]

35.5.9 デバッグの設定

デバッグを設定するコンパイラオプションについて,説明します。

<この項の構成>
(1) -DebugLineオプション
(2) -DebugInfオプション
(3) -DebugCompatiオプション
(4) -DebugDataオプション
(5) -TDInfオプション
(6) -CVInfオプション
(7) -DebugRangeオプション
(8) -TestCmdオプション
(9) -SimMainオプション
(10) -SimSubオプション
(11) -SimIdentオプション
(12) 主/副プログラムシミュレーションで生成する擬似プログラム用プログラム情報ファイル

(1) -DebugLineオプション

(a) 形式
 
-DebugLine
-noDebugLine
(b) 機能

-DebugLine
原始プログラム中のデバッグ行をコンパイルの対象とします。デバッグ行とは,原始プログラムの標識領域にデバッグ標識(「D」または「d」)が記述されているか,浮動デバッグ指示子(「>>D」)が記述されている行のことです。
このシステムでは,WITH DEBUGGING MODE句は覚え書きとみなされるので,デバッグ行を有効にするためにはこのオプションの指定が必要です。

-noDebugLine
-DebugLineオプションの指定を打ち消します。

(2) -DebugInfオプション

(a) 形式
 
-DebugInf〔,Trace〕
-noDebugInf
(b) 機能

-DebugInf
実行時に異常終了した場合,または実行時エラーが発生した場合,異常終了時要約情報リストを出力します。異常終了時要約情報リストの詳細については,「39.2 異常終了時要約情報リスト」を参照してください。

-DebugInf,Trace
異常終了時要約情報リスト中にトレースバック情報を出力します。

-noDebugInf
-DebugInfオプションの指定を打ち消します。
(c) 注意事項

(3) -DebugCompatiオプション

(a) 形式
 
-DebugCompati
-noDebugCompati
(b) 機能

-DebugCompati
次のチェックをします。
  • 表操作で使用する添字または指標名が指す表要素が表の範囲内であるかどうか。
  • 部分参照の指定が一意名の範囲内であるかどうか。
  • プログラム間で整合性が取れているかどうか。
ただし,実行時環境変数CBLPRMCHKWにNOCHKを指定したときは,プログラム間で整合性が取れていなくてもエラーとしないで,実行を継続します。
詳細は,「39.4 プログラム間整合性チェック」を参照してください。

-noDebugCompati
-DebugCompatiオプションの指定を打ち消します。
(c) 注意事項

(4) -DebugDataオプション

(a) 形式
 
-DebugData〔,ValueHex〕
-noDebugData
(b) 機能

-DebugData
外部または内部10進項目に対して,格納値がデータ項目の属性と矛盾している場合,データ例外エラーを検出します。
詳細は,「39.6 データ例外検出機能」を参照してください。

-DebugData,ValueHex
データ例外検知機能でデータ例外が検出された場合,出力されるエラーメッセージにデータ項目の属性と矛盾している格納値を16進数で表示します。
詳細は,「39.6 データ例外検出機能」を参照してください。

-noDebugData
-DebugDataオプションの指定を打ち消します。
(c) 注意事項

(5) -TDInfオプション

(a) 形式
 
-TDInf
-noTDInf
(b) 機能

-TDInf
デバッグ情報を含むプログラム情報ファイル.cbp)を出力します。また,除算例外については,除算実行前に検出します。
-TDInfオプションを指定したプログラムをテストデバッガでデバッグする場合,-DebugCompatiオプションの指定の有無に関係なく,プログラム間の整合性がチェックされます。プログラム間の整合性チェックについては,「(3) -DebugCompatiオプション」を参照してください。

-noTDInf
-TDInfオプションの指定を打ち消します。
(c) 注意事項

(6) -CVInfオプション

(a) 形式
 
-CVInf
-noCVInf
(b) 機能

-CVInf
カバレージ情報を含むプログラム情報ファイル(.cbp)を出力します。

-noCVInf
-CVInfオプションの指定を打ち消します。
(c) 注意事項

(7) -DebugRangeオプション

(a) 形式
 
-DebugRange
-noDebugRange
(b) 機能

-DebugRange
表操作で使用する添字および指標名の値が,次元ごとにOCCURS句で指定した繰り返し回数の範囲内であるかどうかを,実行時に調べます。

-noDebugRange
-DebugRangeオプションの指定を打ち消します。
(c) 注意事項

(8) -TestCmdオプション

(a) 形式
 
-TestCmd{,Full|,Break|,Sim}+
-noTestCmd
(b) 機能

TDコマンド格納ファイルに出力する情報の種類を指定します。

-TestCmd,Full
中断点情報,シミュレーション情報のTDコマンドをTDコマンド格納ファイル(.tdi)に出力します。

-TestCmd,Break
中断点情報のTDコマンドをTDコマンド格納ファイル(.tdi)に出力します。

-TestCmd,Sim
シミュレーション情報のTDコマンドをTDコマンド格納ファイル(.tds)に出力します。

-noTestCmd
-TestCmdオプションの指定を打ち消します。
(c) 注意事項

(9) -SimMainオプション

(a) 形式
 
-SimMain プログラム名
-noSimMain
(b) 機能

-SimMain プログラム名
テストデバッガの主プログラムシミュレーション機能を使用します。
プログラム名には,主プログラムシミュレーションの対象となる副プログラムの名称(最外側のプログラムのプログラム名段落で指定した名称)を指定します。
このオプションを指定すると,主プログラムシミュレーション用の一時的なCOBOLソースファイル(擬似主プログラム)が内部的に生成され,コンパイルされます。コンパイルによって生成されたオブジェクトファイルは,リンク時に取り込まれます。ここで生成されたソースファイル,およびオブジェクトファイルは,コンパイル終了時に消去されます。
また,テストデバッガで必要な擬似主プログラム用のプログラム情報ファイル(.cbs)が生成されます。テストデバッガの主プログラムシミュレーション機能を使用するとき,生成されたプログラム情報ファイル(.cbs)をテストデバッガ環境に指定してください。生成するプログラム情報ファイルの名称については,「(12) 主/副プログラムシミュレーションで生成する擬似プログラム用プログラム情報ファイル」を参照してください。
 
擬似主プログラムを生成するCOBOLソースファイルの情報は,プログラム情報ファイル(.cbp)から取得されます。このため,このオプションを指定する場合は,次のどちらかをする必要があります。
  • -TDInfオプションを同時に指定してコンパイルする。
  • 副プログラムを含むCOBOLソースファイルを-TDInfオプションを指定してコンパイルし,生成された.cbpファイルを,環境変数CBLPIDIRで指定したフォルダまたはカレントフォルダに入れておく。
 
また,このオプションを指定し,-OutputFileオプションで実行可能ファイル名を指定しない場合は,生成される主プログラムの実行可能ファイル名はNONAME1.exeとなります。
 
32bit版PC(x86) COBOL2002の場合
DLLを呼び出す擬似主プログラムを作成する場合は,次のオプションを同時に指定してコンパイルしてください。
  • DLLの属性がstdcall呼び出し規約の場合:-Dll,Stdcall
  • DLLの属性がcdecl呼び出し規約の場合:-Dll,Cdecl
64bit版PC(x64) COBOL2002の場合
DLLを呼び出す擬似主プログラムを作成する場合は,-Dllオプションを同時に指定してコンパイルしてください。
 
このとき,生成される主プログラムの実行可能ファイル名はNONAME1.exeとなります。

-noSimMain
-SimMainオプションの指定を打ち消します。
(c) 注意事項

(10) -SimSubオプション

(a) 形式
 
-SimSub プログラム名〔,…〕
-noSimSub
(b) 機能

-SimSub プログラム名〔,…〕
テストデバッガの副プログラムシミュレーション機能を使用します。
プログラム名には,副プログラムシミュレーションの対象となる副プログラムの名称(CALL文で指定した名称)を指定します。ただし,副プログラムの呼び出し方法は,CALL文の定数指定呼び出しでなければなりません。
このオプションを指定すると,副プログラムシミュレーション用の一時的なCOBOLソースファイル(擬似副プログラム)が内部的に生成され,コンパイルされます。コンパイルによって生成されたオブジェクトファイルは,リンク時に取り込まれます。ここで生成されたソースファイル,およびオブジェクトファイルは,コンパイル終了時に消去されます。
また,テストデバッガで必要な擬似副プログラム用のプログラム情報ファイル(.cbs)が生成されます。テストデバッガの副プログラムシミュレーション機能を使用するとき,生成されたプログラム情報ファイル(.cbs)をテストデバッガ環境に指定してください。生成するプログラム情報ファイルの名称については,「(12) 主/副プログラムシミュレーションで生成する擬似プログラム用プログラム情報ファイル」を参照してください。
 
擬似副プログラムを生成するCOBOLソースファイルの情報は,プログラム情報ファイル(.cbp)から取得されます。このため,このオプションを指定する場合は,次のどちらかをする必要があります。
  • -TDInfオプションを同時に指定してコンパイルする。
  • 副プログラムを呼び出しているCOBOLソースファイルを-TDInfオプションを指定してコンパイルし,生成された.cbpファイルを,環境変数CBLPIDIRで指定したフォルダまたはカレントフォルダに入れておく。

-noSimSub
-SimSubオプションの指定を打ち消します。
(c) 注意事項

(11) -SimIdentオプション

(a) 形式
 
-SimIdent
-noSimIdent
(b) 機能

-SimIdent
テストデバッガの副プログラムシミュレーション機能を使用します。この場合,副プログラムシミュレーションの対象となるのは,一意名呼び出しのCALL文を指定したプログラムです。
このオプションを指定すると,副プログラムシミュレーション用の一時的なCOBOLソースファイルが内部的に生成され,コンパイルされます。コンパイルによって生成されたオブジェクトファイルは,リンク時に取り込まれます。ここで生成されたソースファイル,およびオブジェクトファイルは,コンパイル終了時に消去されます。
また,テストデバッガで必要な擬似副プログラム用のプログラム情報ファイル(.cbs)が生成されます。テストデバッガの副プログラムシミュレーション機能を使用するとき,生成されたプログラム情報ファイル(.cbs)をテストデバッガ環境に指定してください。生成するプログラム情報ファイルの名称については,「(12) 主/副プログラムシミュレーションで生成する擬似プログラム用プログラム情報ファイル」を参照してください。
 
擬似副プログラムを生成するCOBOLソースファイルの情報は,プログラム情報ファイル(.cbp)から取得されます。このため,このオプションを指定する場合は,次のどちらかをする必要があります。
  • -TDInfオプションを同時に指定してコンパイルする。
  • 副プログラムを呼び出しているCOBOLソースファイルを-TDInfオプションを指定してコンパイルし,生成された.cbpファイルを,環境変数CBLPIDIRで指定したフォルダまたはカレントフォルダに入れておく。
注意事項
  • 呼び出し属性がstdcallとなる副プログラムシミュレーションはできません。
  • 下記に示すデータ項目を副プログラムシミュレーションの対象となるプログラムに指定したCALL文の引数に指定することはできません。
    ・プロパティ項目
    ・関数一意名

-noSimIdent
-SimIdentオプションの指定を打ち消します。
(c) 注意事項

(12) 主/副プログラムシミュレーションで生成する擬似プログラム用プログラム情報ファイル

主/副プログラムシミュレーションでは,テストデバッガで必要な情報である擬似プログラム用プログラム情報ファイル.cbs)が生成されます。擬似プログラム用プログラム情報ファイル(.cbs)は,カレントフォルダ,または環境変数CBLPIDIRで指定したフォルダに出力されます。

生成される擬似プログラム用プログラム情報ファイル(.cbs)の名称規則を,次に示します。