利用ddd和gdb_server来交叉调试程序

我们可以利用gdb来单步调试程序,但是需要编译的时候有-g选项。在嵌入式开发中,我们可以将gdb拷贝到板子上,在板子上进行gdb调试,也可以在板子上运行gdb_server,然后主机上运行gdb,和远端的gdb_server链接,在主机上gdb调试。下面就介绍一下怎么进行交叉调试:
1.首先需要在主机上安装ddd工具,ddd工具是一个可以运行gdb的界面程序,虽然这个界面非常粗糙。安装包可以从我另一篇介绍的一个fedora网站上下载,安装ddd需要很多依赖库,也可以从这个网站下载,其他系统可以从网上下载。
2.主机上运行的程序需要带调试信息(-g选项),目标板上的程序可以不带调试信息。
3.在目标板上启动gdb_server
gdbserver host_ip:1234 test //host_ip为主机的ip,1234为端口,任何一个没有其他程序用的接口都可以,test为要调试的程序
4.主机端,启动ddd和gdb调试程序
ddd –debuger /usr/local/linaro-aarch64-2017.08-gcc7.1/bin/aarch64-linux-gnu-gdb test //注意主机和班子上的test程序都是用同一个toolchain来编译出来的,gdb也要用这个toolchain的gdb。
5.这是就会出现ddd的界面,在界面的输入部分输入:
target remote board_ip:1234
6.这时就可以在界面上设置断点等来进行单步调试了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值