Pergunta

I found that idb cannot step into one of my functions.

I am linking a c-program (main.c) with a fortran90 function(func1), that belong to a module(mod1), that links to another function(func2) in another module(mod2). The structure is like that

main.c (c) ---> func1 into mod1 of lib1.a (fortran) ---> func2 into mod2 of lib2.a (fortran)

*The problem is: I am not able to step into func2 with idb. When I try to step in func2 from func1 the debugger goes to the next line in func1. I didn't use gdb because I know that it cannot step into fortran module, can it?

I am compiling with Intel 11.1 with the following flags:

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

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

I don't know what to do, any hint is appreciated


Edit:I I wrote a simple fortran 90 program that calls directly lib2.a without using lib1.a. I find that idb cannot step into lib2.a either.

I compile the library like

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 don't understand what is going wrong, I usually compile libraries like that and the debugger works!

Any idea?

Foi útil?

Solução

This is the answer I got on the intel forums:

I am using -I without argument: this is wrong and causes the problem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top