我发现idb无法进入我的一个功能。
我将c程序(main.c)与属于模块(mod1)的fortran90函数(func1)相链接,该函数链接到另一个模块(mod2)中的另一个函数(func2)。结构就像那样
main.c(c)---> func1进入lib1.a(fortran)的mod1 ---> func2到lib2.a(fortran)的mod2中
*问题是:我无法使用idb进入func2。当我尝试从func1进入func2时,调试器转到func1中的下一行。我没有使用gdb,因为我知道它无法进入fortran模块,可以吗?
我正在使用以下标志编译Intel 11.1:
CFLAGS=-ggdb -debug full -O0 -Wall -traceback
F90FLAGS=-g -O0 -check bounds -warn all -traceback -align all -align rec8byte
我不知道该怎么做,任何提示都很受欢迎
编辑:我 我写了一个简单的fortran 90程序,直接调用lib2.a而不使用lib1.a.我发现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
我不明白出了什么问题,我经常编译这样的库,调试器也可以工作!
有什么想法吗?
答案 0 :(得分:0)
这是我在intel论坛上得到的答案:
我正在使用-I而没有参数:这是错误的并导致问题。