У меня есть только доступ к исполняемому файлу C (нет исходного кода/.c), и мне нужно использовать gdb для его отладки. Но я продолжаю получать (не найдено отладочных символов) сообщение. Я видел другие вопросы, подобные этому, но большинство из них предлагает перекомпилировать исходный код (что-то, чего я не могу сделать, потому что у меня его нет) или предложить следующие исправления (см. Ниже), которые не сработали для меня.gdb: Не удается перекомпилировать исполняемый файл: (не найдены отладочные символы)
gdb test
Reading symbols from /usr/bin/test...(no debugging symbols found)...done.
(gdb) b main
Function "main" not defined.
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) b 2
No symbol table is loaded. Use the "file" command.
(gdb) file test
Reading symbols from /usr/bin/test...(no debugging symbols found)...done.
(gdb) exec-file test
(gdb) file test
Reading symbols from /usr/bin/test...(no debugging symbols found)...done.
(gdb) b 2
No symbol table is loaded. Use the "file" command.
В качестве побочного примечания я не могу сломать основной (странно, потому что я могу гарантировать, что это исполняемый файл C).
Я новичок в использовании gdb и невероятно потерян и очень ценю любую помощь. Спасибо заранее!
EDIT:
Как было предложено @ Жан-Франсуа Фабр, я изменил имя исполняемого файла для Foobar, но все еще работает с теми же проблемами. Выход выше был обновлен:
gdb foobar
Reading symbols from /usr/bin/foobar...(no debugging symbols found)...done.
(gdb) b main
Function "main" not defined.
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) b 2
No symbol table is loaded. Use the "file" command.
(gdb) file foobar
Reading symbols from /usr/bin/foobar...(no debugging symbols found)...done.
(gdb) exec-file foobar
(gdb) file foobar
Reading symbols from /usr/bin/foobar...(no debugging symbols found)...done.
(gdb) b 2
No symbol table is loaded. Use the "file" command.
Следуйте за предложением переименовать Jean-Francois ниже. Существуют и другие команды [вне gdb]: 'objdump',' readelf -s', 'ldd',' file', чтобы рассказать вам о символах в файле [которые должны присутствовать, даже если информация об отладке была раздел]. Ошибка [в gdb] 'b main' могла быть проблемой'/usr/bin/test' –
Спасибо @Craig Estey! Эти инструменты были очень полезны! – Her