13.5.2 インタフェース領域のダンプ出力
COBOL入出力サービスルーチンが使用する次の三つのインタフェース領域の内容を,デバッグ情報としてダンプ形式で出力できます。
-
管理情報インタフェース領域
-
パラメタインタフェース領域
-
入出力レコード領域
ここでは,これらのデバッグ情報の出力方法について説明します。
(1) 出力先ファイル名の指定
デバッグ情報を出力するときは,環境変数CBL_FLSRVDUMPに出力先となるファイル名を指定します。次に,環境変数CBL_FLSRVDUMPの指定方法を示します。
- 形式
CBL_FLSRVDUMP=出力先ファイル名
- 出力先ファイル名
-
デバッグ情報を出力するファイル名を絶対パスで指定します。
- 規則
-
-
環境変数CBL_FLSRVDUMPに指定したファイルがない場合,新規にファイルが作成されます。すでにファイルがある場合は,ファイルの最後にデバッグ情報が追加されます。
-
環境変数CBL_FLSRVDUMPに指定したパスがない場合,実行時エラーとなります。
-
環境変数CBL_FLSRVDUMPを指定しない場合,または値を指定しない場合は,デバッグ情報が出力されません。
-
(2) 出力タイミングの指定
デバッグ情報は,各入出力サービスルーチンの実行前,実行後,またはその両方のときに出力できます。管理情報インタフェース領域のデバッグ情報出力指示に値を指定すると,どのタイミングでデバッグ情報を出力するかを指定できます。次に,デバッグ情報出力指示に指定する値と,デバッグ情報が出力されるタイミングの関係を示します。
デバッグ情報出力指示の値 |
デバッグ情報が出力されるタイミング |
---|---|
CBLCOM_DBG_NO |
デバッグ情報は出力されない |
CBLCOM_DBG_BEF |
各入出力サービスルーチンの実行前 |
CBLCOM_DBG_AFT |
各入出力サービスルーチンの実行後 |
CBLCOM_DBG_BEFAFT |
各入出力サービスルーチン実行の前後両方 |
- 規則
-
-
デバッグ情報出力指示の値は,ファイルを開いている間でも任意に変更できます。これによって,入出力サービスルーチンごとに異なるタイミングでデバッグ情報を出力できます。
-
COBOL入出力サービスルーチンでパラメタエラーが発生した場合,サービスルーチン実行後にはデバッグ情報が出力されません。
-
デバッグ情報出力指示の値は,COBOL2002によって変更されません。
-
(3) 出力の対象となる領域
デバッグ情報へ出力されるインタフェース領域の種類は,実行するCOBOL入出力サービスルーチンの種類によって異なります。サービスルーチンごとに出力されるデバッグ情報の種類を,次に示します。
COBOL入出力 サービスルーチン |
出力される領域 |
|||
---|---|---|---|---|
管理情報インタフェース領域 |
パラメタインタフェース領域 |
読み込み バッファ※1 |
書き出し バッファ※1 |
|
CBLOPEN |
○ |
○ |
× |
× |
CBLCLOSE |
○ |
× |
× |
× |
CBLREAD |
○ |
○ |
○※2 |
× |
CBLWRITE |
○ |
○ |
× |
○ |
CBLREWRITE |
○ |
○ |
× |
○ |
CBLUNLOCK |
○ |
× |
× |
× |
CBLDELETE |
○ |
○ |
× |
× |
CBLSTART |
○ |
○ |
× |
× |
CBLWDISK |
○ |
× |
× |
× |
- (凡例)
-
○:デバッグ情報に出力される
×:デバッグ情報に出力されない
- 注※1
-
バッファ領域は,実際に入出力した長さでダンプ出力されます。
- 注※2
-
CBLREADサービスルーチンの実行前には出力されません。