プログラムが例外を受け取る原因は数多く考えられます。問題を見つける方法の 1 つとして、ソースプログラムで例外が発生した行番号を検出して調べる方法があります。
-ftrap=common によってコンパイルすると、すべての例外に対してトラップが強制的に行われます。
例外が発生した箇所を検索します。
demo% cat wh.f call joe(r, s) print *, r/s end subroutine joe(r,s) r = 12. s = 0. return end demo% f95 -g -o wh -ftrap=common wh.f demo% dbx wh wh の記号情報を読み込み中 (dbx) catch FPE (dbx) run 実行中: wh (プロセス id 17970) シグナル FPE (ゼロによる浮動小数点除算) 関数 MAIN 行番号 2 ファイル "wh.f" 2 print *, r/s (dbx) |