idbが私の関数の1つにステップインできないことがわかりました。
cプログラム(main.c)を、別のモジュール(mod2)の別の関数(func2)にリンクするモジュール(mod1)に属するfortran90関数(func1)にリンクしています。構造はそのようなものです
main.c(c)---> func1からlib1.a(fortran)のmod1へ---> func2からlib2.a(fortran)のmod2へ
*問題は次のとおりです。idbを使用してfunc2にステップインできません。func1からfunc2にステップインしようとすると、デバッガーはfunc1の次の行に移動します。fortranモジュールにステップインできないことがわかっているので、gdbを使用しませんでしたか?
次のフラグを使用してIntel11.1でコンパイルしています。
CFLAGS=-ggdb -debug full -O0 -Wall -traceback
F90FLAGS=-g -O0 -check bounds -warn all -traceback -align all -align rec8byte
どうしたらいいかわからない、ヒントをいただければ幸いです
Edit:IIは、lib1.aを使用せずにlib2.aを直接呼び出す単純なFortran90プログラムを作成しました。idbもlib2.aにステップインできないことがわかりました。
私は次のようにライブラリをコンパイルします
ifort -g -O0 -check bounds -warn all -traceback -align all -align rec8byte -o a.o -c a.f90 -I
ifort -g -O0 -check bounds -warn all -traceback -align all -align rec8byte -o b.o -c b.f90 -I
ifort -g -O0 -check bounds -warn all -traceback -align all -align rec8byte -o c.o -c c.f90 -I
ifort -g -O0 -check bounds -warn all -traceback -align all -align rec8byte -o d.o -c d.f90 -I
/u/shared/programs/x86_64/ifort/11.1.064/bin/intel64/xiar rcvf lib2.a a.o b.o c.o d.o
xiar: executing 'ar'
a - a.o
a - b.o
a - c.o
a - d.o
何が問題になっているのかわかりません。通常、そのようなライブラリをコンパイルすると、デバッガーが機能します。
何か案が?