编译gdbserver到ARM平台,用PC机上的gdb调试arm板上的程序

74 篇文章 4 订阅

编译gdb,gdbserver

下载gdb源码 https://ftp.gnu.org/gnu/gdb/  ,我的操作系统平台是ubuntu 14.04

1.编译gdb

tar xjf gdb-7.4.tar.bz2
cd gdb-7.4/
./configure --target=arm-linux
make
一个可执行程序gdb和libgdb.a在当前目录下生成

注意:configure 时报no termcap ,需要下载libtermcap自己编译并安装,参考https://blog.csdn.net/shenjin_s/article/details/80603553?utm_source=blogxgwz3

 

2.编译gdbserver

cd gdb/gdbserver/
1、./configure --host=arm-linux
2、vi Makefile
把gcc修改为arm-linux-gcc(或者你的arm编译器名称)
3、make
把生成的gdbserver拷贝到arm板子上

注意:make过程中报错 gdbserver: linux-x86-low.c error: sys/reg.h: No such file or directory

1.找到config.h里的HAVE_SYS_REG_H这个宏定义,把它注释掉.

2. 在linux-x86-low.c的头文件#include<sys/reg.h>注释掉.

3.make clean

参考 https://blog.csdn.net/chenbang110/article/details/7505907

调试:

编译要调试的应用,编译时加上-g选项 //如: arm-linux-gcc -g test_debug.c -o test_debug

1. 在ARM板上

gdbserver 192.168.1.17:2345 ./test_debug 

2. 在PC上

/bin/arm-linux-gdb ./test_debug
输入:target remote 192.168.1.17:2345
然后: 使用gdb命令来控制程序

3、几个常用的gdb命令

(1)l:列出所有源代码
(2)break main:在main处打断点
         break test_debug.c:11:在test_debug.c的11行打断点
(3)c:运行到断点处
(4)step:单步执行
(5)next:单步执行,但是step会进入函数里面,但是next不会
(6)print a:打印a这个变量的值
(6)quit:退出,输入此命令则开发板上的gdbserver也退出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路边闲人2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值