COBOL2002 Javaプログラム呼び出し機能ガイド


6.1.7 デバッグ操作

ここでは,Javaプログラム呼び出し機能が提供するデバッグ操作のサービスルーチンについて説明します。

〈この項の構成〉

(1) CBLJDEBUGSTRING

CBLJDEBUGSTRINGサービスルーチンは,ユーザデバッグ情報として,文字列情報をデバッグ情報ファイルに出力します。

形式
CALL 'CBLJDEBUGSTRING' USING  引数1  引数2  引数3.
引数
戻り値

RETURN-CODE特殊レジスタには常に0を返します。

規則
  • 環境変数CBLJRTDUMPに指定したデバッグ情報ファイルに,引数2と引数3で指定した文字列を出力します。環境変数CBLJRTDUMPを指定していない場合は出力しません。デバッグ情報ファイルの指定については,「5.2.1 デバッグ情報出力の指定方法」を参照してください。

  • 引数2に指定した英数字項目の値を,引数3の長さだけ出力します。ただし,引数2の値にNULL終端文字(X'00')が含まれる場合は,それ以降の文字列を出力しません。

  • 引数3に,引数2の英数字項目の長さを超えた値を指定した場合の動作は保証しません。

  • CBLJINITIALIZEサービスルーチンを呼び出す前に,CBLJDEBUGSTRINGサービスルーチンを呼び出す場合,引数1に指定するCBLJENV集団項目は初期化されている必要があります。

注意事項

CBLJDEBUGSTRINGサービスルーチンは,引数2と引数3で指定された値をそのまま出力します。値の末尾に不完全な多バイト文字が格納されていてもそのまま出力します。

(2) CBLJMEMDUMP

CBLJMEMDUMPサービスルーチンは,ユーザデバッグ情報として,メモリ領域の内容をデバッグ情報ファイルに出力します。

形式
CALL 'CBLJMEMDUMP' USING 引数1  引数2  引数3.
引数
  • 引数1には,CBLJENV集団項目を指定します。CBLJENV集団項目については,「6.1.1 サービスルーチンで使用する引数」の「(1) CBLJENV集団項目」を参照してください。

  • 引数2には,領域の先頭アドレスを示すポインタ項目を指定します。

  • 引数3には,出力する領域のサイズ(バイト数)を持つ4バイト2進形式の数字項目を指定します。

戻り値

RETURN-CODE特殊レジスタには常に0を返します。

規則
注意事項

引数2には,作業場所節のデータ項目など,実行中のCOBOLプログラムで参照できる領域の先頭アドレスとサイズを指定してください。サイズが不明な領域は指定しないでください。また,参照できるサイズより大きなサイズを指定すると,バッファオーバーランが発生します。参照できるサイズを指定してください。

CBLJENV集団項目の従属項目のポインタ項目やオブジェクト参照のポインタ項目など,Javaプログラム呼び出し機能が実行時に確保する領域のアドレスも指定できません。これらのポインタ項目を指定した場合の動作は保証しません。