C idb找不到函数—;有什么提示吗?

C idb找不到函数—;有什么提示吗?,c,debugging,fortran,icc,intel-fortran,C,Debugging,Fortran,Icc,Intel Fortran,我发现idb无法进入我的一个功能 我正在链接一个c程序(main.c)和一个fortran90函数(func1),该函数属于一个模块(mod1),链接到另一个模块(mod2)中的另一个函数(func2)。结构是这样的 main.c(c)--->func1到lib1.a的mod1(fortran)--->func2到lib2.a的mod2(fortran) *问题是:我无法使用idb进入func2。当我尝试从func1中插入func2时,调试器将转到func1中的下一行。我没有使用gdb,因为我知

我发现idb无法进入我的一个功能

我正在链接一个c程序(main.c)和一个fortran90函数(func1),该函数属于一个模块(mod1),链接到另一个模块(mod2)中的另一个函数(func2)。结构是这样的

main.c(c)--->func1到lib1.a的mod1(fortran)--->func2到lib2.a的mod2(fortran)

*问题是:我无法使用idb进入func2。当我尝试从func1中插入func2时,调试器将转到func1中的下一行。我没有使用gdb,因为我知道它不能进入fortran模块,是吗

我使用具有以下标志的英特尔11.1进行编译:

CFLAGS=-ggdb -debug full -O0  -Wall -traceback

F90FLAGS=-g -O0 -check bounds -warn all -traceback -align all -align rec8byte
我不知道该怎么办,任何暗示都很感激


编辑:I 我编写了一个简单的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
我不明白出了什么问题,我通常编译这样的库,调试器也能工作


有什么想法吗?

这是我在英特尔论坛上得到的答案:


我在使用-I而没有争论:这是错误的,并且导致了问题

因为我意识到我对预处理器指令的说法是错误的。我编辑了我以前的文章,但后来我意识到这是一个完全不同的问题。所以我删除了前一个,重新发布了一个全新的,因为前一个有误导性。这是否违反了stackoverflow的任何指导方针或规定?不知道,我只是好奇:)始终使用tag,并且仅在必要时添加版本,以区分您的问题是否具体。例如,您不能使用Fortran 2008,而只能使用Fortran 90。