• ベストアンサー

フォートランプログラムのエラーについて

自作のフォートランのプログラムを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のところに表示されている,数字だと思われます.しかし,その数字が何の手がかりなのかがよくわかりません. どなたかご教示いただけませんでしょうか? よろしくお願いいたします.

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4901/10362)
回答No.2

エラーの内容については、#1の方がお書きの通り、配列の添え字の範囲オーバーです。 PCの値は、エラー発生時のプログラムのアドレスです。 Routine Line Source が Unknownになっていると言うことは、デバッグオプションを付けずにコンパイルしてしまったのだと思います。デバッグオプションは、PCの値からエラー場所を特定するスキルがない限り必須です。

asa_hikawa
質問者

お礼

コンパイルをしなおしたところ,デバッグでおかしな場所を見つけることができました. ありがとうございました. 今後は,付けずにコンパイルするなどということがないように気をつける所存です.

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

エラーを検索したら出てきましたけど・・・。 実行時の配列指定に問題がありそうですね。 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

asa_hikawa
質問者

補足

はい,そのようです. /check:boundsオプションを設定しようとしたら,どうも,デフォルトの状態で設定されているようでした. 手がかりが掴めませんで,試行錯誤をしております.

関連するQ&A