GDB - Нет исходного файла с именем <что-то> - компилятор Intel
Я называю код Fortran 90 из кода AC. E сть main()
(в c), который вызывает функцию-обертку в том же файле, которая вызывает подпрограмму на фортране (фактически в liblibrary.a). Я работаю над Linux. Теперь я использую gdb
отладить исполняемый файл, но он не может найти файл main.c. Я добавил рабочий каталог, используя
directory /my/working/directory
но все равно говорится, что нет файла с именем main.c
Если я наберу list
внутри gdb
это показывает мне часть кода Fortran. Если я наберу show language
, это говорит Текущий исходный язык auto; currently c
,
Если я запускаю исполняемый файл, а затем прерываю его и смотрю на стек, он покажет мне c-функции, которые я вызываю, но он не будет указывать исходный файл, который вместо этого будет указывать для подпрограммы и функции fortran.
Я пытаюсь выяснить, правильно ли я передаю переменные из c в fortran и обратно, подозреваю, что нет.
То же самое происходит в idb
, более менее. когда я пытаюсь сделать перерыв в main.c, он говорит not found
, Я скомпилировал код Фортрана с этими флагами:
-g -O0 -check bounds -warn all -traceback -align all -align rec8byte
и c-код с:
-g -O0 -Wall
Все предложения приветствуются.
1 ответ
Здравствуйте, вам нужен дополнительный флаг для добавления отладочной информации в ваш исполняемый файл. Вот руководство для компилятора Intel: http://cache-www.intel.com/cd/00/00/34/75/347599_347599.pdf Пожалуйста, попробуйте -debug full
как на странице 35 написано.