インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
致命的なエラー状態が原因で Fortran プログラムが終了した場合、Fortran ランタイムシステムは、ランタイムメッセージの後に診断情報を表示します。
Fortran ランタイムシステムは呼び出しの流れを調査して、エラーを発生させる原因となった一連の呼び出しのレポートを、デフォルトの診断メッセージレポートの一部として生成します。この処理はトレースバックと呼ばれます。最小限表示される情報には、以下が含まれます。
エラー状態を説明する標準 Fortran ランタイム・エラー・メッセージ。
各行にコール・スタック・フレームを含む表形式のレポート。この情報には、少なくとも実行ファイルの名前とそのファイル内の 16 進の PC が含まれます。
[Routine]、[Line]、および [Source] フィールドに表示される情報は、プログラムが traceback オプションを指定してコンパイルされていたかどうかによって異なります。
traceback オプションが指定されていると、表示される情報は次のようになります。
forrtl: 致命的なエラー (24): 読み取り中にファイルの最後に達しました。ユニット 10、ファイル 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 オプションなしでコンパイルされた場合、表示される情報は次のように変わります。
[Routine]、[Line]、および [Source] フィールドは、"Unknown" として報告されます。
通常、エラーの原因を特定するために、リンク・マップ・ファイルが必要となります。
traceback オプションを指定すると、プログラムカウンター (PC) とソースファイル行の関係情報がエラーメッセージ情報に含まれるので、致命的なランタイムエラーの原因を特定する作業が簡単になります。
traceback オプションを指定して生成される Fortran オブジェクトには、コンパイラーによって生成された補足情報が含まれます。この補足情報は、Fortran ランタイムシステムが PC 値を、実行されたルーチン名、Fortran ソースファイル、およびソースファイル内の行番号と自動的に関係付けるために使用されます。この情報は、ランタイムエラーの診断レポートに表示されます。
自動的な PC の関連付けは、Fortran コードでのみサポートされています。Fortran 以外のコードに対しては、16 進の PC 値のみが報告されます。