gdbserver从远程文件加载符号表 [英] gdbserver loading symbol table from remote file
问题描述
我正在尝试使用gdbserver ...
我有一个二进制路径 / user / bin / foo
以pid <$运行的应用程序C $ C> 19767 。
I am trying to use gdbserver...
I have an application with binary path /user/bin/foo
running with pid 19767
.
在远程启动gdbserver:
Started the gdbserver on remote:
gdbserver --remote-debug --multi 0:12347
在客户端启动gdb并连接它以删除服务器
Started gdb on client and connected it to remove server
target extended-remote 192.168.1.84:12347
在pid上附加gdb
Attached gdb on pid
attach 19767
显示:
It shows:
warning: Could not load vsyscall page because no executable was specified
try using the "file" command first.
0x00007f207550043c in ?? ()
另外,它显示的当前线程信息不正确。
Also, current thread information it is showing is incorrect. Like info threads shows 1 thread , but my app has 10 threads-
(gdb) info threads
* 1 Thread 19767.19767 0x00007f207550043c in ?? ()
如何让gdb从远程文件 / user / bin中/富
?如何让它显示正确的信息?
How can I ask gdb to load symbol from remote file /user/bin/foo
? How to make it show correct info?
推荐答案
如何让gdb从远程加载符号file / user / bin / foo
How can I ask gdb to load symbol from remote file /user/bin/foo
你不行。在本地复制远程 / usr / bin / foo
(或挂载它所在的文件系统),然后像这样调用gdb: gdb / path / to / copy / of / foo
,或者使用文件
命令。
You can't. Copy remote /usr/bin/foo
locally (or mount the filesystem it's on), and then invoke gdb like this: gdb /path/to/copy/of/foo
, or just use the file
command.
这篇关于gdbserver从远程文件加载符号表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!