前ページへFaultFinder

第 7 章 ライブラリルーチン

この章では、デバッグ制御に使用できる COBOL ライブラリルーチンについて説明します。

7.1 デバッグ用ルーチン

COBOL システムライブラリルーチンでは、型定義と COBOL CALL プロトタイプを使用しており、ライブラリルーチンの呼び出しの有効性を効果的に検証できます。詳細については、『プログラマーズガイド - アプリケーション作成』『ライブラリルーチン』 の章に記載されている 『ライブラリルーチン用の TYPEDEF と CALL プロトタイプ』 を参照してください。

ライブラリルーチンの型定義と CALL プロトタイプをプログラムで使用するには、プロトタイプを定義しているコピーファイル ($COBDIR/cpylib/cblproto.cpy) をプログラム内でインクルードする必要があります。このファイルをインクルードする行は、コンパイルするプログラムの見出し部より前に記述してください。

次に示す 2 つのデバッグ用ルーチンが使用できます。

CBL_DEBUGBREAK COBOL プログラムによる Animator の呼び出しを可能にする。
CBL_FFND_REPORT COBOL プログラムによる FaultFinder の呼び出しを可能にする。

7.2 ライブラリルーチンの説明について

以下の項では、デバッグ用のライブラリルーチンについて、ルーチン名のアルファベット順に説明します。各ルーチンの説明箇所には、当該ルーチンの名前と機能のほか、次に挙げる各項目 (またはその一部) の情報を示しています。


構文
ルーチンの呼び出しに使用できる CALL 文。

RETURNING 句(省略可能)も明示します。各ライブラリルーチンは、必ず処理結果を示す値を戻します。この値は特に示されない限り、処理が成功すると 0、失敗すると 0 以外になります。RETURNING 句を指定した場合は、返される値が RETURNING に指定された項目 (次の一覧では status-code) に格納されますが、省略した場合は、専用レジスタ、 RETURN-CODE に格納されます(呼び出し規則の 2 ビット目を設定すると、RETURN-CODE の値は変更されません。呼び出し規則の詳細については、『プログラマーズガイド - アプリケーション作成』『COBOL インターフェイス環境』 の章を参照してください)。

status-code には、0〜65535 の値を格納できる数値型の項目を使用する必要があります。この項目は cbltypes.cpy ファイルでは cblt-rtn-code として定義されています。

ルーチン名は必ず大文字で記述します。

パラメータ
RETURNING 句と USING 句に指定する各パラメータの型を示しています。[parameter1] のように角かっこで囲まれているパラメータは、ルーチンの形式によっては省略可能です。
起動時の設定
起動時に渡されるパラメータを示しています。
終了時の設定

終了時に返されるパラメータを示しています。
バイトデータ中のビットが参照されている場合は、ビット、 0 が LSB (右端のビット)です。

備考
ルーチンを正しく使用するために必要な追加情報。

CBL_DEBUGBREAK

COBOL プログラムによる Animator の起動を可能にします。

構文
call "CBL_DEBUGBREAK" returning status-code
パラメータ
status-code 『ライブラリルーチンの説明について』 を参照。
備考

このルーチンを使用すれば、COBOL プログラム内から Animator を起動できます。CBL_DEBUGBREAK の呼び出し時にデバッグが実行されていなければ、Animator が起動します。Animator が起動すると、ツールバーの [Stop] ボタンをクリックした場合と同じように、呼び出し元プログラムがただちに停止します。

CBL_DEBUGBREAK の呼び出し時にデバッグが実行中であれば、[Stop] ボタンをクリックした場合と同じように Animator 内でデバッグが停止します。

このルーチンは正常終了すると 0、Animator の起動に失敗すると 0 以外の値を返します。


CBL_FFND_REPORT

COBOL プログラムによる FaultFinder の起動を可能にします。

構文
CALL "CBL_FFND_REPORT" using  by value rtserr
                              by value terminate
                              returning status-code
パラメータの
rtserr cblt-x4-comp5
terminate cblt-x4-comp5
status-code 『ライブラリルーチンの説明について』 を参照。
起動時の設定
terminate 次のいずれかの値を指定します。
0 FaultFinder によるレポートの生成後も実行を継続する。
1 FaultFinder によるレポートの生成後にランタイムシステムを終了する。rtserr に 0 以外の値を指定した場合は、終了時にその値がランタイムシステムエラーとして通知される。
rtserr 0 以外の値を指定すると、その値がランタイムシステムの有効なエラーコードとして FaultFinder のレポートに出力される。0 を指定すると、ランタイムシステムエラーは通知されない。
備考

このルーチンを使用すれば、プログラム内から FaultFinder を起動できます。呼び出された FaultFinder は、実行時調整変数の設定を基に、ただちにレポートファイルを生成します。faultfind_level 調整変数の値が 0 の場合は、CBL_FFND_REPORT が正常に FaultFinder を呼び出しますが、生成されるレポートには、履歴情報や開いているファイルの情報は含まれません。呼び出し元のプログラムが FaultFinder によるレポート生成後も実行を継続するかどうかは、terminate パラメータで指定した値によって決定されます。



Copyright(C) 2001 Micro Focus. All rights reserved.
本書、ならびに使用されている固有の商標と商品名は国際法で保護されています。

前ページへFaultFinder