【问题标题】:gdb print symbol at address relative to base addressgdb 在相对于基地址的地址处打印符号
【发布时间】:2014-06-05 11:24:54
【问题描述】:

我在地址 myfile.exe+0x144c7(来自 ProcessExplorer 中的线程列表)发现了一个可疑的死锁。现在,我想知道它是哪个函数。

info symbol addr

要求 addr 是绝对的。是否有一个命令采用 ProcessExplorer 给出的相对地址。我可以添加 0x400000,但如果 GDB 可以为我做就更好了。

【问题讨论】:

    标签: gdb memory-address debug-symbols nm base-address


    【解决方案1】:

    gdb 接受符号地址的表达式,因此您可以执行以下操作:

    info symbol 0x40000000 + 0x144c7
    

    如果您检查“信息变量”(或在可执行文件上使用 nm),则包含您的代码的文本段可能有一个符号名称,因此您也可以执行以下操作:

    info symbol _init + 0x144c7
    

    请注意,如果您的问题出在 DLL 或其他文本段中,则符号可能无法按预期工作。

    【讨论】:

    • 有没有办法在不加载到虚拟内存的情况下获取符号名称?
    • @DanBonachea myfile.exe+0x144c7(来自 ProcessExplorer 中的线程列表)。这不是说它是什么操作系统吗。
    猜你喜欢
    • 2010-12-21
    • 2017-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    • 1970-01-01
    相关资源
    最近更新 更多