как отлаживать программу на фортране с несколькими объектными файлами?

У меня есть программа на фортране, которая вызывает некоторые зависимые объектные файлы .o. Я хотел бы иметь возможность переключаться между файлами при отладке, возможно ли это?

процедура компиляции выглядит примерно так:

gfortran -g -o analyze.x analyze.o active.o analysis.o angles.o attach.o basefile.o beeman.o bicubic.o

где analysis.x — исполняемый файл. Все файлы .o также были скомпилированы с использованием флага -g. Когда я делаю (gdb) break main, а затем пытаюсь выполнить программу, большинство подпрограмм выполняются в объектных файлах. Мне было интересно, можно ли также пройти через код объектного файла.


person ejang    schedule 25.11.2011    source источник


Ответы (1)


Это будет работать только в том случае, если объектные файлы, связанные с исполняемым файлом, содержат отладочную информацию, то есть были скомпилированы с параметром -g. Итак, это должно работать:

# Compile all Fortran and C files with debug info
gfortran -g -c *.f90
gcc -g -c *.c
# Link everything together
gfortran -g -o myexe *.o
person F'x    schedule 26.11.2011