NAG Fortran Builder 6.1

Fortranプログラムのバグ発見をお手伝い
プログラム上の誤りを適確に見つけてくれる

プログラムが異常終了する?

Fortranプログラムの開発やメンテナンスを行っていると避けて通れないのが、プログラムの異常終了です。Segmentation Fault(セグメンテーションフォルト)やArithematic Exception(算術例外)等、何らかのエラーメッセージと共にプログラムが終了してしまう場合もありますし、何もエラーが表示されずにいきなりプログラムが終了してしまうようなケースもあります。このような場合のほとんどは何らかのプログラム上の誤りに起因します

Fortran Builderの診断機能

Fortran Builderはプログラム実行時に発生するさまざまなタイプのエラーを適確に見つけ出します。

特によくある原因

Fortranプログラムが異常終了する原因として最もよく見られるのは以下の2つです。

(1) 未定義変数を参照(初期化忘れ)している
(2) 配列の範囲外をアクセスしている

いずれもプログラムを実行するまで検出できない場合がほとんどです。ご利用コンパイラによっては速度面が優先されて、範囲外アクセスや未定義変数の参照があってもお構いなしに実行が継続されます。 その結果プログラムが異常終了することになります。

エラー検出例

以下に配列の範囲外アクセスを含むコード例を示します。

多くのコンパイラや環境ではこのプログラムは問題なくコンパイルも通り、実行が行えます。そしてそのまま実行され、しばらくは問題なく動くかもしれません。しかし何かのタイミング(例えばデータサイズを変更した、あるいは最適化オプションを変更した等)で突然異常終了をするようになって困るようなことがよくあります。 Fortran Builderでは実行時診断機能オプションを追加してコンパイルすることで、実行時にさまざまなチェックが行われて、もし何か問題があればその旨エラーとして出力します。 例えば、上記プログラムを実行すると以下のような実行時エラーが出力され、エラーの原因とエラー発生箇所が特定できます。

実行時エラー:main.f90, line 6:Xの第1添字(値 11)が範囲外です(1:10)致命的なエラーでプログラムが終了しました。

■ 大学生協限定バンドルキャンペーン実施中

キャンペーン期間:2017/10/1~2018/3/31

★価格表クリックで詳細ページを表示

価格は予告なく変更される場合があります。税込組価は税率8%で計算されています。
インストール条件については、各ソフトウェアの利用許諾書を必ずご覧ください。
学生 マークが付いている商品のご注文はWEBからは出来ません。詳しくはこちらをご覧ください。


URL:http://www.nag-j.co.jp/

ログイン

新規会員登録

ページトップへ

表示モード
スマホ
PC