TRACEBACKQQ によるトレースバック情報の取得

TRACEBACKQQ ルーチンを呼び出すことにより、トレースバック情報を取得できます。

TRACEBACKQQ は、アプリケーションのスタックトレースを開始します。このルーチンを使用することで、検出したアプリケーション・エラーを報告し、この情報を基にデバッグなどを行えます。インテル® Fortran ランタイムシステムの標準スタックトレース・サポートが使用されているので、ランタイムシステムが生成する未処理エラーと例外の出力 (致命的なエラーメッセージ) と同一のものが生成されます。TRACEBACKQQ サブルーチンは、TRACEBACKQQ への呼び出しがあった時点までのプログラムのコールスタックを含むスタックトレースを生成します。

ランタイムコードから提供されるエラーメッセージの文字列は、ユーザーが指定したメッセージテキストに置き換えることができます。ユーザーが指定しない場合は、省略されます。トレースバック出力は、ランタイムコードによって内部でトレースバックが開始されたときと同じように、アプリケーション形式に合った出力先に送られます。

たいていの場合、ユーザーは引数なしで TRACEBACKQQ を呼び出し、スタックトレースを生成できます。

CALL TRACEBACKQQ()

呼び出し場所がどこであっても、この呼び出しにより、ランタイム・ライブラリーはヘッダーメッセージを省略してトレースバックを生成し、実行を終了します。

ユーザーは引数を指定することで、ヘッダーとして定義した文字列を使用してスタックトレースを生成したり、アプリケーションの実行を終了する代わりに、呼び出し側へ制御を返して実行を続けさせることが可能です。次に例を示します。

CALL TRACEBACKQQ(STRING="Done with pass 1",USER_EXIT_CODE=-1)

ユーザー終了コードを -1 に指定すると、呼び出し元のプログラムに制御が返ります。正の値をユーザー終了コードに指定した場合は、その値をオペレーティング・システムに返すように要求します。デフォルト値は 0 で、アプリケーションの実行を終了させます。