gdbserver从远程文件加载符号表 [英] gdbserver loading symbol table from remote file

查看:486
本文介绍了gdbserver从远程文件加载符号表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆