gdb 在相对于基地址的地址处打印符号
Posted
技术标签:
【中文标题】gdb 在相对于基地址的地址处打印符号【英文标题】:gdb print symbol at address relative to base address 【发布时间】:2014-06-05 11:24:54 【问题描述】:我在地址 myfile.exe+0x144c7(来自 ProcessExplorer 中的线程列表)发现了一个可疑的死锁。现在,我想知道它是哪个函数。
info symbol addr
要求 addr 是绝对的。是否有一个命令采用 ProcessExplorer 给出的相对地址。我可以添加 0x400000,但如果 GDB 可以为我做就更好了。
【问题讨论】:
【参考方案1】:gdb 接受符号地址的表达式,因此您可以执行以下操作:
info symbol 0x40000000 + 0x144c7
如果您检查“信息变量”(或在可执行文件上使用 nm),则包含您的代码的文本段可能有一个符号名称,因此您也可以执行以下操作:
info symbol _init + 0x144c7
请注意,如果您的问题出在 DLL 或其他文本段中,则符号可能无法按预期工作。
【讨论】:
有没有办法在不加载到虚拟内存的情况下获取符号名称? @DanBonachea myfile.exe+0x144c7(来自 ProcessExplorer 中的线程列表)。这不是说它是什么操作系统吗。以上是关于gdb 在相对于基地址的地址处打印符号的主要内容,如果未能解决你的问题,请参考以下文章