GDB Python API:从地址获取符号名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GDB Python API:从地址获取符号名称相关的知识,希望对你有一定的参考价值。

在GDB shell中,我可以从地址获取符号名称,如下所示:

(gdb) info symbol 0x405ece
top::test_thread() in section .text of test_procs

如何使用Python GDB API(https://sourceware.org/gdb/onlinedocs/gdb/Python-API.html)执行相同的操作?有可能吗?

答案

这样的东西应该工作(未经测试):

block = gdb.block_for_pc(0x405ece)
while block and not block.function:
  block = block.superblock

print block.function.print_name

以上是关于GDB Python API:从地址获取符号名称的主要内容,如果未能解决你的问题,请参考以下文章

如果使用调试信息编译,则通过其名称获取全局变量地址

gdb - 获取寄存器的变量名

GDB:当没有可用的名称符号时如何打印函数参数值

我可以从 ELF 文件的符号表中的符号信息中获取对象名称吗?

GDB远程调试,好像找不到符号

gdb 在相对于基地址的地址处打印符号