gdbserver从远程文件加载符号表

时间:2013-03-21 14:31:31

标签: gdb gdbserver

我正在尝试使用gdbserver ...
我有一个使用pid /user/bin/foo运行的二进制路径19767的应用程序。

在远程启动gdbserver:

gdbserver  --remote-debug --multi 0:12347 

在客户端上启动gdb并将其连接到删除服务器

target extended-remote 192.168.1.84:12347

在pid上附加了gdb

attach 19767

它显示:

warning: Could not load vsyscall page because no executable was specified
try using the "file" command first.
0x00007f207550043c in ?? ()

此外,它显示的当前线程信息不正确。像信息线程显示1个线程,但我的应用程序有10个线程 -

(gdb) info threads
* 1 Thread 19767.19767  0x00007f207550043c in ?? ()

如何让gdb从远程文件/user/bin/foo加载符号?如何让它显示正确的信息?

2 个答案:

答案 0 :(得分:4)

  

如何让gdb从远程文件/ user / bin / foo

加载符号

你做不到。在本地复制远程/usr/bin/foo(或挂载它所在的文件系统),然后像这样调用gdb:gdb /path/to/copy/of/foo,或者只使用file命令。

答案 1 :(得分:1)

从gdb 7.10开始,您可以使用

set sysroot target:

使gdb从远程文件系统中检索文件。见https://sourceware.org/gdb/onlinedocs/gdb/Files.html#Files