嵌入式gdb调试搭建

前言

写文章的目的是想通过记录自己的学习过程,以便以后使用到相关的知识点可以回顾和参考。

一、获取gdb 和 gdbserver

一般情况下,交叉编译器都自带了gdb 和 gdbserver,因此可以不用移植,直接使用交叉编译器自带的即可。进入到交叉编译器/bin 目录,如下所示:
在这里插入图片描述
arm-linux-gnueabi-gdb 就是我们需要用到的工具,arm-linux-gnueabi是前缀,不同的交叉编译器,前缀会不一样。

gdbserver 也是在交叉编译器的文件中,在 /arm-linux-gnueabi/libc/usr/bin 文件中,不同的交叉编译器,可能 gdbserver 所在的位置不同,可以在交叉编译器根目录中使用如下指令查找:

find ./ -name gdbserver

在这里插入图片描述

二、移植 gdbserver

gdbserver 是在开发板上运行的,因此需要把它放到到开发板的/usr/bin 目录下。
在这里插入图片描述

三、使用gdb调试程序

把一个可执行程序发送到开发板中,下面我编写的可执行程序名字为gdbtest,源码为gdbtest.c。

!!!!重点:确保开发板跟pc端ubuntu网络连通,不然调试不了,可以先ping一下看看通不通。

开发板跟pc端ubuntu网络连通以后,在开发板端输入命令:

gdbserver 192.168.0.102:2001 gdbtest

上述命令中 192.168.1.253 为调试机的 IP 地址,也就是 ubuntu 的 IP 地址,2001 是端口号,可以任意给一个端口号,gdbtest 是要调试的可执行文件。
在这里插入图片描述
接着回到pc端ubuntu,输入如下命令启动gdb调试工具:

arm-linux-gdb gdbtest

在这里插入图片描述
在命令行输入如下命令:

target remote 192.168.0.103:2001 //连接到开发板上

上述命令表示连接到开发板上,其中 192.168.1.251 就是开发板 IP 地址,2001 就是开发板gdbserver 设置的端口号。

开发版端会提示如下链接信息:
在这里插入图片描述
远端调试机的 IP 地址为 192.168.1.253,也就是我们的 ubuntu 地址,连接成功以后就可以在 ubuntu 上进行代码调试了。

回到pc端ubuntu,在命令行输入命令就行了,下面是常用的常用的几个命令:
1、命令l:用于列出程序源码
2、命令b:用于设置断点
3、命令c:用于运行到断点处
4、命令s:单步运行执行,会进入到函数里面
5、命令n:也是单步运行,但是 n 命令不会进入到函数里面
6、命令p:用于打印某个变量值
7、命令q:用于退出调试

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值