CBL_CREATE_CORE

このルーチンはネイティブ COBOL でのみサポートされます。 COBOL プログラムからオンデマンドで (つまりランタイム エラーなしで) コア ダンプを起動できるようにします。

構文:

call "CBL_CREATE_CORE" using by value     flags
                             by value     core-param
                             by reference filename
                             returning    status-code

パラメーター:

  呼び出しプロトタイプ使用時 (「説明の読み方」を参照) PIC
flags cblt-x4-comp5 pic x(4) comp-5
core-param cblt-x4-comp5 pic x(4) comp-5
filename pic x(n)
status-code 説明の読み方」を参照

入力パラメーター:

flags
ゼロに設定する必要があります。これは、コア ファイルが生成されることを示します。
core-param
コア ファイルを作成するプロセス ID を設定します。値がゼロの場合、現在のプロセスからコア ファイルが作成されます。ゼロ以外の値を指定する場合は、その実行プロセスを呼び出し元のプロセスと同じユーザーが所有している必要があります。
filename

コア ファイルの名前を表す null で終了する文字列です。

ファイル名には次の文字列を含めることができます。これらはコア ファイルの作成時に置き換えられます。

%%
単一の %
%d
コア ダンプが生成された日付 (yyyymmdd の形式)
%f
コア ダンプが生成されたプログラムのベース名
%p
コア ダンプが生成されたプログラムのプロセス ID
%t
コア ダンプが生成された時刻 (hhmmss の形式)

ファイル名が指定されていない場合 (つまり、このパラメーターが NULL ポインターに設定されている場合)、core_filename チューナーの値がファイルの名前に使用されます。そのチューナーも設定されていない場合は、プラットフォームのデフォルトのファイル名である cblcore になります。

出力パラメーター:

status-code
status-code 意味
0 成功
1 コマンド ラインが無効
2 プロセス ID が無効
3 完全なコアのサポートを有効にする必要がある
4 このプラットフォームではサポートされていない
5 OS のコア ダンプ コマンドを実行できない
6 コア ファイルを作成できない
7 生成されたコア ファイルが無効

例:

次の例では、現在のプロセスのコア ファイルを作成します。ファイル名は「myDump」になります。

01 flags pic x(4) comp-5 value 0. 
01 process pic x(4) comp-5 value 0. 
01 filename pic x(7) value "myDump" & x"00". 
call "CBL_CREATE_CORE" using by value flags 
                             by value process    
                             by reference filename.

次の例では、同じユーザーによって開始され、別のプロセスで実行されている COBOL アプリケーションのコア ファイルを作成します。プロセス ID は 18655 であり、ファイル名は「myDump.18655」になります。

01 flags pic x(4) comp-5 value 0. 
01 process pic x(4) comp-5 value 18655. 
01 filename pic x(100) value "myDump.%p" & x"00".
call "CBL_CREATE_CORE" using by value flags 
                             by value process 
                             by reference filename.