Я пытаюсь выполнить посмертный анализ разбитого двоичного файла «TestApp» в Linux-системе.GDB - Загрузка отладочной информации из внешних файлов «.sym»
У меня есть копия двоичных файлов и и общие объекты, которые копируются на устройство в пути:
/usr/public/target
Эта папка содержит все двоичные файлы в вопросе в структуре каталогов, используемые в тестируемой системе , то есть:
/usr/public/target/sbin/TestApp
/usr/public/target/lib/TestAppLib.so
/usr/public/target/usr/lib/TestAppAPILib.so
автоматизированный процесс сборки полос отладочную информацию из бинарных файлов, и сохраняет их во внешних, символьных файлов, все под:
/usr/public/target_external_symbols
Так символьная информация для указанных бинарных файлов будет существовать в файлах с именами:
/usr/public/target_external_symbols/sbin/TestApp.sym
/usr/public/target_external_symbols/lib/TestAppLib.so.sym
/usr/public/target_external_symbols/usr/lib/TestAppAPILib.so.sym
Как получить GDB, чтобы знать о существовании этих внешних символов и загрузить их?
Я обычно вызывать GDB через:
gdb TestApp TestApp.core
Я называют другие статьи о создании файла теста .gdbinit
и передать его в GDB через -command
аргумент, но он не появляется на работе. Каждый раз, когда я пытаюсь получить обратную линию из моего основного файла, я получаю указание от GDB, что он не может открыть символы отладки. Любая помощь в разрешении этого оценивается.
(gdb) info shared
From To Syms Read Shared Object Library
0x78000000 0x780061e8 Yes (*) /usr/public/target/lib/TestAppLib.so
0x78010000 0x7806e60c Yes (*) /usr/public/target/usr/lib/TestAppAPILib.so
0x78070000 0x78091d2c Yes (*) /usr/public/target/lib/libm.so.2
(*): Shared library is missing debugging information.
спасибо.