Я новичок в компиляторе ifort90 (Intel Fortran 90), поэтому у меня возникли проблемы с установкой флагов в makefiles. Моя цель - отладить исполняемый файл myExec.x с помощью gdb. Я получил make-файл от предыдущего человека.
Предположим, есть ошибка в файле с именем time.F90.
Когда я запускаю GDB, я надеюсь, что он может показать имя файла и номер строки, где появляется ошибка, например, «ошибка во время. F90: 100». В make-файле для генерации myExec.x FFLAGS был установлен как «FFLAGS = - g -o0 -warn -warn noerrors -fpe0 -traceback -ftrapuv ".
Однако, как я знаю, опция "-g" позволяет вам генерировать только символическую отладочную информацию в объектном файле. Поэтому, когда я использовал gdb, он показывал символы, существующие в объектном файле, а не имя файла и номер строки. Например, ошибка находится в функции с именем «set_time» в файле «time.F90». Когда я использовал команду backtrace в gdb, она показала что-то как «time_mod_mp_set_time_ ()». Time_mode_mp_set_time_ не является именем функции и это просто символ в myExec.x. Я не знаю, может ли это самая GDB показать для программы на Фортране. Когда я использовал gdb для отладки программы на c ++, раньше она могла показывать «ошибка addr0x000002 в set_time в файле: time.cpp в строке 100».
Большое спасибо за помощь ~