プロが教えるわが家の防犯対策術!

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

よろしくお願いいたします.

A 回答 (2件)

エラーを検索したら出てきましたけど・・・。


実行時の配列指定に問題がありそうですね。

Visual Fortran 実行時エラー

severe(161): Program Exception - array bounds exceeded
FOR$IOS_PGM_BOUNDS。プログラムが配列の指定した境界外の配列要素を参照しようとしました。/check:bounds オプションを設定して,再コンパイルしてください。

http://www.xlsoft.com/jp/products/intel/cvf/docs …

この回答への補足

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

補足日時:2007/12/17 17:56
    • good
    • 0

エラーの内容については、#1の方がお書きの通り、配列の添え字の範囲オーバーです。



PCの値は、エラー発生時のプログラムのアドレスです。
Routine Line Source が Unknownになっていると言うことは、デバッグオプションを付けずにコンパイルしてしまったのだと思います。デバッグオプションは、PCの値からエラー場所を特定するスキルがない限り必須です。
    • good
    • 0
この回答へのお礼

コンパイルをしなおしたところ,デバッグでおかしな場所を見つけることができました.

ありがとうございました.
今後は,付けずにコンパイルするなどということがないように気をつける所存です.

お礼日時:2007/12/17 19:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!