【问题标题】:How do I get debugging symbols using GDB attach to stripped application if i have not stripped application version?如果我没有剥离应用程序版本,如何使用 GDB 附加到剥离的应用程序来获取调试符号?
【发布时间】:2016-10-30 10:01:28
【问题描述】:

对于已剥离的应用程序尚未制作 objcopy --only-keep-debug

【问题讨论】:

    标签: linux debugging gdb arm


    【解决方案1】:

    您可以简单地使用 gdb 启动调试器并附加到您运行剥离的可执行文件。

    您也可以使用 gdb 中的符号文件将其指向符号。

    【讨论】:

    • 我试试 1) gdb -p 4072 2)symbol-file /tmp/telemetry 3) bt #0 0x40439276 in ?? () from /lib/libc.so.6 #1 0x404a8488 in poll () from /lib/libc.so.6 #2 0x0000f980 in ?? () #3 0x0000f980 在?? () 回溯停止:前一帧与此帧相同(损坏的堆栈?) (gdb) b main 0x1be5c 处的断点 1:main。 (2 个地点)
    • gdb 是否说它在 /tmp/telemetry 中找到了符号?您是使用其他调用 poll 的库还是在代码中执行此操作?
    • Gdb 说找到了调试符号。 (gdb) 符号文件 /tmp/telemetry_debug_only 从 /tmp/telemetry_debug_only 读取符号...完成。警告:文件“/lib/libthread_db.so.1”自动加载已被您设置为“$debugdir:$datadir/auto-load”的“自动加载安全路径”拒绝。警告:无法找到与inferior线程库匹配的libthread_db,线程调试将无法使用。我使用其他调用 poll 的库。
    猜你喜欢
    • 2016-10-18
    • 2017-03-14
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多