GDB - Нет исходного файла с именем <something>- компилятор Intel - PullRequest
3 голосов
/ 15 января 2012

Я звоню на Fortran 90 код из кода AC.Существует main() (в c), который вызывает функцию-обертку в том же файле, которая вызывает подпрограмму на фортране (фактически, в liblibrary.a).Я работаю над Linux.Теперь я использую gdb для отладки исполняемого файла, но он не может найти файл main.c.Я добавил рабочий каталог, используя

directory /my/working/directory

, но, тем не менее, он говорит, что нет файла с именем main.c
Если я наберу list внутри gdb, он покажет мне фрагмент кода на фортране.Если я наберу 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

и с-кодом с:

-g -O0  -Wall

Все предложения приветствуются.

1 Ответ

2 голосов
/ 15 января 2012

Здравствуйте, вам нужен дополнительный флаг для добавления отладочной информации в ваш исполняемый файл. Вот руководство для компилятора Intel: http://cache -www.intel.com / кд / 00/00/34/75 / 347599_347599.pdf Пожалуйста, попробуйте -debug full, как на стр. 35 написано.

...