如何使用--add-gnu-debuglink将gdb符号文件保存在已安装的文件夹中

时间:2017-05-17 15:21:46

标签: linux debugging ubuntu gdb gdbserver

这是Ubuntu设置。

简而言之,如果我使用命令" objcopy --add-gnu-debuglink = / mntsymbols / binsymbol / prog.debug prog "它不起作用,在做gdb时,找不到符号。 仅当prog.debug与prog在同一文件夹中时,gdb才会获取符号。 我做完 gdb>后工作正常symbol-file /mntsymbols/binsymbol/prog.debug

/ mntsymbols是从远程计算机安装的文件夹。 prog被剥离二进制。 prog.debug是使用" objcopy --only-keep-debug "创建的prog的调试符号文件。

我正在尝试为简单的测试程序设置gdb符号服务器。 sys1是gdb符号服务器。将符号文件保留为 SYS1:/root/symboldir/testp1symbols/prog.debug SYS1:/root/symboldir/testp1symbols/shared1.so.debug

将在sys2上挂载sys1:/ root / symboldir /,我应该能够在sys2上使用gdb进行调试。如何使用--add-gnu-debuglink或任何其他方式实现此目的。

1 个答案:

答案 0 :(得分:2)

Documentation

您应该使用--add-gnu-debuglink=prog.debug并将GDB中的debug-file-directory设置为/mntsymbols/binsymbol

您设置此方法的方式,GDB可能会在prog.debug中查找/usr/lib/debug/mntsymbols/binsymbol。您可以通过在strace -e open下运行GDB来验证这一点。