【问题标题】: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 的库。