0

従来の Fortran コード サブルーチンを呼び出す C コード関数を使用しています。Fortran コードのサブルーチンは、他の C コード関数も呼び出します。私が取り組んでいるコードはあまりきれいではありませんが、すべてをゼロから書き直すのはかなり困難です。

残念ながら、プログラム内のどこかで segfault が発生しています。C コードと Fortran コードの両方でその場所を正確に特定するために使用できる、優れた GUI を備えたソフトウェア ツールがあるかどうか疑問に思っています。

Open Watcom コンパイラを使用して Windows でソフトウェア プログラムを開発し、C と Fortran コードの両方をコンパイルしていますが、使用できる FOSS ツールがあれば、喜んでコードを GNU/Linux ボックスに移動します。

あるいは、Intel Composer XE スイートを使用して、セグメンテーション違反の場所を視覚的に特定できないかと考えています。インテル Composer XE スイートには、C コンパイラーと Fortran コンパイラーの両方が含まれています。

私は C と Fortran のコードを扱っているので、コードのどこで segfault が発生しているかを示す何らかの情報が必要です。私は特に関数への呼び出しを使用したくありませんprintf()

4

2 に答える 2

1

Windows 上の Intel Visual Fortran 製品で提供される Visual Studio 統合により、Fortran と C の混合コードの GUI デバッグが可能になります。

Linux Intel では、独自の GUI ベースのデバッグ環境 (idb) をコンパイラ製品と共に出荷しています。

于 2012-11-14T02:35:00.180 に答える
1

これは GUI ではありませんが、valgrindは優れたメモリ デバッグ ツールです。segfault が発生している行 (任意のデバッガーで実行できるはずです) だけでなく、初期化されていないメモリや割り当てられていないメモリにアクセスしたり、その他のさまざまなエラーが発生したりするたびにも通知されます。ただし、使用するには Linux に移植する必要があります。

于 2012-11-14T00:48:34.410 に答える