cobgeterrorinfo

最後に障害またはエラーが発生した場所に関する情報を提供します。
注: このリリースでは、cobgeterrorinfo は Linux でのみ使用できます。
制約事項: このルーチンは COBOL および PL/I でのみサポートされます。

構文:

#include "cobgeterrorinfo.h"
coberrorinfo_t* cobgeterrorinfo(int flags);

パラメーター:

flags 将来使用するために予約済み。値は 0 です。

戻り値:

この関数は、ルーチンが呼び出された時点で障害またはエラーが発生していない場合は NULL、それ以外の場合は次の形式の構造体へのポインターを返します。
typedef struct
{
	cbl_os_size_t    symbol_offset;
	const cobchar_t* symbol_name;
	cbl_os_size_t    module_offset;
	const cobchar_t* module_name;
	const cobchar_t* file_name;
	cbl_os_size_t    line_number;

} coberrorinfo_t
各要素は次のとおりです。
symbol-name
最後に障害またはエラーが発生したシンボルの名前を含む null で終了する文字列。
symbol-offset
最後に障害またはエラーが発生したシンボルのオフセット。
module-name
最後に障害またはエラーが発生したモジュールの名前を含む null で終了する文字列。
module-offset
最後に障害またはエラーが発生したモジュールのオフセット。
file-name
最後に障害またはエラーが発生したファイルの名前を含む null で終了する文字列。
line-number
最後に障害またはエラーが発生したファイル内の行。

説明:

cobgeterrorinfo を使用する典型的なシナリオは、エラー処理、PL/I ON-unit、または同期シグナル ハンドラーにおいて、最後に障害またはエラーが発生した場所に関する情報を取得するというものです。

cobgeterrorinfo は、CEE3GRN および CEE3GRO ルーチンと機能的に似ており、同様の状況で使用すことが想定されています。これらの 2 つのメインフレーム呼び出しと同様に、エラーが発生した後に cobgeterrorinfo を呼び出すと、エラーの場所について、シンボル名とシンボルの先頭からのオフセットが提供されます。さらに、cobgeterrorinfo は、モジュールの名前、ファイル名、および行番号も提供します。この追加情報により、障害/エラーの場所を簡単に特定できます。

cobgeterrorinfo は構造体を作成します。この構造体は不要になったら破棄してください。これには別の関数の cobfreeerrorinfo を使用します。

cobgeterrorinfo の構文は次のとおりです。
#include "cobgeterrorinfo.h"
void cobfreeerrorinfo(coberrorinfo_t* error_info);
error_info
cobgeterrorinfo から返された破棄する coberrorinfo_t 構造体へのポインター。

PL/I では、このルーチンを ON-unit で呼び出すことができます。ただし、ON-unit の終了後に呼び出すことはできません。

PL/I プログラムで cobgeterrorinfo を使用するには、-proginfo オプションを使用してプログラムをコンパイルする必要があります。

このリリースでは、int コードおよび gnt コードはサポートされていません。

cobgeterrorinfo は、出口プロシージャから呼び出すことはできません。

cobgeterrorinfo は、非同期シグナルに関する情報は提供しません。

一部の情報については、状況によっては提供されないことがあります。
  • ファイル名と行番号の情報を取得するには、プログラムをデバッグ用にコンパイルする必要があります。
  • 32 ビット システムでは、デバッグ用のコンパイルが必須です。