- ベストアンサー
フォートランプログラムのエラーについて
自作のフォートランのプログラムをvisual fortranでコンパイル後,走らせたところ,以下のようなエラーがでました. forrtl: severe(161): Program Exception-array bounds exceeded Image PC Routine Line Source hoge.exe ******** Unknown Unknown Unknown 注)********:アルファベット交じりの数字.たぶん,16進数. LineやSourceなどは,Unknownと書いてありますので,トラブル解決のカギは,PCのところに表示されている,数字だと思われます.しかし,その数字が何の手がかりなのかがよくわかりません. どなたかご教示いただけませんでしょうか? よろしくお願いいたします.
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
エラーの内容については、#1の方がお書きの通り、配列の添え字の範囲オーバーです。 PCの値は、エラー発生時のプログラムのアドレスです。 Routine Line Source が Unknownになっていると言うことは、デバッグオプションを付けずにコンパイルしてしまったのだと思います。デバッグオプションは、PCの値からエラー場所を特定するスキルがない限り必須です。
その他の回答 (1)
- hana-hana3
- ベストアンサー率31% (4940/15541)
エラーを検索したら出てきましたけど・・・。 実行時の配列指定に問題がありそうですね。 Visual Fortran 実行時エラー severe(161): Program Exception - array bounds exceeded FOR$IOS_PGM_BOUNDS。プログラムが配列の指定した境界外の配列要素を参照しようとしました。/check:bounds オプションを設定して,再コンパイルしてください。 http://www.xlsoft.com/jp/products/intel/cvf/docs/vf-html/em/em01_04.htm
補足
はい,そのようです. /check:boundsオプションを設定しようとしたら,どうも,デフォルトの状態で設定されているようでした. 手がかりが掴めませんで,試行錯誤をしております.
お礼
コンパイルをしなおしたところ,デバッグでおかしな場所を見つけることができました. ありがとうございました. 今後は,付けずにコンパイルするなどということがないように気をつける所存です.