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

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

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

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

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

CALL TRACEBACKQQ()

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

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

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

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