3

私はACコードからFortran90コードを呼び出しています。main()同じファイル内にラッパー関数を呼び出す(実際にはliblibrary.a内の)fortranサブルーチンを呼び出す(c)があります。私はLinuxに取り組んでいます。現在、gdb実行可能ファイルのデバッグに使用していますが、main.cファイルが見つかりません。を使用して作業ディレクトリを追加しました

directory /my/working/directory

それでも、main.cという名前のファイルはないと表示されます。その中
に入力すると、Fortranコードの一部が表示されます。と入力すると、現在のソース言語はです。 実行可能ファイルを実行し、それを中断してスタックを調べると、呼び出しているc-functionが表示されますが、ソースファイルは表示されず、代わりにfortranサブルーチンと関数が表示されます。 変数をcからFortranに、そして逆方向に正しく渡しているかどうかを調査しようとしていますが、そうではないと思います。listgdbshow languageauto; currently c

同じことが、idb多かれ少なかれ起こります。main.cを中断しようとすると、と表示されますnot found。これらのフラグを使用してFortranコードをコンパイルしました。

-g -O0 -check bounds -warn all -traceback -align all -align rec8byte

およびcコード:

-g -O0  -Wall

すべての提案を歓迎します。

4

1 に答える 1

2

こんにちは、実行可能ファイルにデバッグ情報を入れるための追加のフラグが必要です。インテル®コンパイラーのマニュアルは次のとおりです。http: //cache-www.intel.com/cd/00/00/34/75/347599_347599.pdf35-debug fullページに記載されているとおりに 試してください。

于 2012-01-14T23:08:03.563 に答える