GDB - как найти текущий модуль для стека кадра - PullRequest
0 голосов
/ 15 апреля 2019

После перехода к фрейму стека с помощью f stack_frame_number я могу увидеть его исходный код, если информация об отладке присутствует и обновлена. В любом случае, как узнать, в какой модуль входит мой текущий кадр стека ?

* 1006 Е.Г. *

(gdb) print current_module
Your stack frame is in libTest.so.1

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 16 апреля 2019

Gdb предоставляет символ $pc в качестве синонима указателя инструкции в текущем кадре.

Вы можете использовать это с командой info symbol дляпоказать исполняемый файл или совместно используемую библиотеку, соответствующую этому фрейму:

(gdb) info symbol $pc
pause + 20 in section .text of /lib/x86_64-linux-gnu/libc.so.6
(gdb) up
(gdb) info symbol $pc
main + 9 in section .text of /home/mp/m
...