gdbserver远程调试工具

gdbserver远程调试工具

(一)下载gdb-7.8.1.tar
http://ftp.gnu.org/gnu/gdb/gdb-7.8.1.tar.xz?TPSecNotice

(二)gdbserver交叉编译

(1)配置交叉编译环境
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
export PATH=/home/cyg/qtcompile/arm-xilinx-linux-gnueabi-4.9.2/bin/:$PATH

编译gdbserver,此步注意:需要进如gdbserver文件夹下,在外边会出现Makefile:10927: recipe for target ‘configure-gdb’ failed
cd gdb/gdbserver

(2)命令行执行该命令,会在server/bin文件夹下生成arm-xilinx-linux-gnueabi-gdbserver,注:prefix为安装位置绝对路径
./configure --target=arm-xilinx-linux-gnueabi --target=arm-xilinx-linux-gnueabi --host=arm-xilinx-linux-gnueabi --prefix=/media/sf_Share/gdb-install/server
执行
make -j&&make install

(3)gdb交叉编译,在gdb-7.8.1文件夹下执行以下命令,远程调试可以跳过此步,建议使用gdb-multiarch
./configure --target=arm-xilinx-linux-gnueabi --disable-tui --prefix=/media/sf_Share/gdb-install
执行
make -j&&make install

(4)安装gdb-multiarch:
apt-get install gdb-multiarch

(三)移植:
将arm-xilinx-linux-gnueabi-gdbserver拷贝到可执行文件路径下,或者其他位置写入环境变量中。

(四)此时虚拟机上已经可以远程调试电路板程序:
(1)虚拟机上交叉编译arm程序,并将程序移植到arm板
(2)arm板:
命令行执行./arm-xilinx-linux-gnueabi-gdbserver 192.168.1.102:10001 pdapp -qws
192.168.1.102为目标虚拟机ip,10001为自定端口号,pdapp为需要调试程序
执行结果如下:
在这里插入图片描述

(3)虚拟机命令行调试(建议使用Qtcreater,跳过此步,见(4)):
命令行执行 gdb-multiarch pdapp
结果如下:
在这里插入图片描述

此时输入(gdb) target remote 192.168.1.101:10001
注:192.168.1.101为电路板ip,10001为电路板调试端口号
执行结果:
电路板上可以看到
在这里插入图片描述

现在可以开始设置断点调试了。

(4)Qtcreater配置
打开Qtcreater,工具栏打开tools -> options ,并添加设备
在这里插入图片描述

选择Generic Linux Device,并按照提示填写arm板ip,用户名,密码,点击next,结果如下:
在这里插入图片描述

通常该问题由端口号错误引起,默认ssh端口号使用的是22,修改ssh port,并点击Test
在这里插入图片描述

此时显示测试成功
在这里插入图片描述

点击Debugger,选择Debugers配置gdb-multiarch
在这里插入图片描述

点击Kits,添加编译配置,配置如下
在这里插入图片描述

点击Apply并关闭此界面。

(五)开始调试:
(1)交叉编译的程序放入arm板
(2)Arm板上操作同(2)
(3)工具栏打开 Debug -> Start Debugging -> Attach to running Debug server,配置如下,注意标红内容,必须填写,不然会出现vMustReplayEmpty错误。
在这里插入图片描述

点击ok,进入调试,此时已经可以打断点调试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值