次の場合、数値コードのデバッグを開始するための一般的な戦略は何ですか?
- 積極的な最適化フラグを使用してコンパイルされたコードは、出力に時折 NaN と Inf を生成します。
-g
デバッガーで実行するために(これは を意味する) でコンパイルされたコードは-O0
、NaN と Inf をもう生成しませんか?
この場合、ポートランド グループの C++ コンパイラである pgCC を使用し、最適化オプションを使用しました。
-w -fast -O3 -Mipa=fast -Mfprelaxed -Minline=levels:10
そしてちょうど
-w -g
デバッグ バージョン用。しかし、同様の状況が同様に発生する可能性があると確信しg++
ています。
編集: print ステートメントを追加することはあまり魅力的なオプションではありません。コードは私が書いたものではなく、数千行もあり、検索を絞り込む方法がわかりません。NaN はどこからでも発生する可能性があります。