【问题标题】:How to get the exact location from gdb's "info symbol" command如何从 gdb 的“信息符号”命令中获取确切位置
【发布时间】:2020-02-27 07:24:06
【问题描述】:

我正在使用 GDB 进行调试。当我输入“信息符号 0xABCD”时,我得到以下结果,

sample_function + 123 in section init

我知道 EXACT LOCATION 在 sample_function() 附近,并且偏移量为 123,但是如何在 C 代码中找到它?我还没有从互联网上找到任何谈论这个的资源。感谢您的帮助。

【问题讨论】:

    标签: c debugging gdb remote-debugging gdbserver


    【解决方案1】:

    如何在 C 代码中找到它?

    你可以这样做:

    (gdb) disas/m 0xABCD
    

    来自“帮助disas”:

    With a /m modifier, source lines are included (if available).
    

    或者,这个命令:addr2line -fe /path/to/binary 0xABCD(在 GDB 之外运行)应该打印源位置(如果二进制文件有调试行信息)。

    【讨论】:

    • 对不起我的最后评论,disas/m 0xABCD 有效,谢谢。它同时提供 C 和程序集。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多