Как сопоставить .so файлы с исходными файлами в GDB - PullRequest
1 голос
/ 13 июля 2011

У меня есть файл дампа ядра. когда я пытаюсь открыть в GDB. Я могу видеть обратную трассировку (с адресом и соответствующими ей функциями), но соответствующая функция отображается в .so файлах, а не в исходный.

bt выглядит так

#0  0xf611b39c in xxFun () from /lib/libxx.so.0

$file /lib/libtxx.so.0
/lib/libtxx.so.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped

Возможность отображать символы с использованием нм!

Запросы: - 1) Как мне сопоставить эти .so файлы с исходными файлами 2) Я не могу отображать информацию местных жителей / аргументов. Как я могу получить эти данные?

Когда я пытаюсь отобразить

#info locals
No symbol table info available.
#info args
No symbol table info available.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 14 июля 2011

Точно так же, как «н.м.» прокомментировал, вам нужен libxx.so, собранный с отладочной информацией (обычно -g переключатель во время компиляции).

Это обеспечит как адрес для сопоставления источника, так и info locals, args и т. Д.

...