トレースバック情報の使用についての概要

致命的なエラー状態が原因で Fortran プログラムが終了した場合、Fortran ランタイムシステムは、ランタイムメッセージの後に診断情報を表示します。

Fortran ランタイムシステムは呼び出しの流れを調査して、エラーを発生させる原因となった一連の呼び出しのレポートを、デフォルトの診断メッセージレポートの一部として生成します。この処理はトレースバックと呼ばれます。最小限表示される情報には、以下が含まれます。

[Routine]、[Line]、および [Source] フィールドに表示される情報は、プログラムが -traceback (Linux* および Mac OS* X) または /traceback (Windows*) オプションを指定してコンパイルされていたかどうかによって異なります。

-traceback または /traceback が指定されていると、表示される情報は次のようになります。


forrtl: severe (24): end-of-file during read, unit 10, file E:\USERS\xxx.dat Image PC Routine Line Source libifcorert.dll 1000A3B2 Unknown Unknown Unknown libifcorert.dll 1000A184 Unknown Unknown Unknown libifcorert.dll 10009324 Unknown Unknown Unknown libifcorert.dll 10009596 Unknown Unknown Unknown libifcorert.dll 10024193 Unknown Unknown Unknown teof.exe 004011A9 AGAIN 21 teof.for teof.exe 004010DD GO 15 teof.for teof.exe 004010A7 WE 11 teof.for teof.exe 00401071 HERE 7 teof.for teof.exe 00401035 TEOF 3 teof.for teof.exe 004013D9 Unknown Unknown Unknown teof.exe 004012DF Unknown Unknown Unknown KERNEL32.dll 77F1B304 Unknown Unknown Unknown

同じプログラムが -traceback または /traceback オプションなしでコンパイルされた場合、表示される情報は次のように変わります。

-traceback または /traceback オプションを指定すると、プログラムカウンター (PC) とソースファイル行の関係情報がエラーメッセージ情報に含まれるので、致命的なランタイムエラーの原因を特定する作業が簡単になります。

-traceback または /traceback を指定して生成される Fortran オブジェクトには、コンパイラーによって生成された補足情報が含まれます。この補足情報は、Fortran ランタイムシステムが PC 値を、実行されたルーチン名、Fortran ソースファイル、およびソースファイル内の行番号と自動的に関係付けるために使用されます。この情報は、ランタイムエラーの診断レポートに表示されます。

自動的な PC の関連付けは、Fortran コードでのみサポートされています。Fortran 以外のコードに対しては、16 進の PC 値のみが報告されます。