使用gdbserver远程调试

 我来答 举报
青柠姑娘17
2022-06-11 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6707
采纳率:100%
帮助的人:38.7万
展开全部

使用gdbserver可以对目标设备上的程序进行远程调试。
gdbserver基本用法如下:

此时gdbserver监听端口号1234,并等待客户端连接。

然后就可以对目标设备的程序进行debug了。

最初在使用gdbserver的时候,我遇到了如下问题:

这个问题的核心是:在手机上运行的gdbserver是配置为面向arm架构的(arm-eabi-linux),而在PC端运行的gdb是配置为面向X86_64架构的。

查看gdbserver的版本信息:

可以看到目标设备的gdbserver面向的架构是 arm-eabi-linux
而我的PC上的gdb的架构是 "x86_64-unknown-linux-gnu"
所以,出现了上述问题。

解决方法
保证gdbserver和gdb配置的架构是一致。在PC端安装针对arm架构配置的gdb工具。
gdb:The GNU Debugger for the ARM EABI (bare-metal) target

在archlinux上解决方式是安装 arm-none-eabi-gdb

然后使用arm-none-eabi-gdb连接gdbserver就OK了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式