使用gdb远程调试开发板内程序

背景,开发主机是x86-64平台的Linux系统,开发板是ARM平台的Linux系统。

1. 安装gdb-multiarch作为gdb客户端

apt install gdb-multiarch

2. 编译可在开发板内运行的gdbserver作为gdb服务端

下载gdbserver v7.12源代码,并使用交叉编译工具链编译:

cd gdb-7.12/gdb/gdbserver
./configure --host=arm-linux --target=arm-linux
make
arm-linux-strip ./gdbserver

然后将当前目录下编译生成的gdbserver复制到开发板内备用。

注意:gdbserver v8.0及以后的版本,需要使用C++11编译器编译。
我当前所用的交叉编译工具链,能编译的gdbserver的最高版本就是v7.12。
经过strip之后的gdbserver v7.12仅有300KB非常小巧,适合在开发板内运行。

3. 在开发板内运行gdbserver启动被调试程序

telnet 192.168.1.230
./gdbserver :6666 ./myprogram

参数:6666指定TCP监听端口(随意),IP地址当然就是开发板自己的IP(192.168.1.230)。

如果使用串口连接:./gdbserver /dev/ttymxc0 ./myprogram

4. 在Linux开发主机内运行gdb-multiarch开始调试

gdb-multiarc
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值