嵌入式Linux GDB调试环境搭建与使用

简介

  • Linux系统常用GDB调试C代码,类似单片机的IDE。
  • 可以使用GDB命令单步执行、跳入/跳出函数、设置断点、查看变量等等。
  • Ubuntu资源充足,可以直接用gdb调试程序。
  • 嵌入式Linux性能弱,一般PC上运行源码和GDB工具,可执行文件在开发板上运行。
  • PC上通过gdb调试嵌入式程序,需要gdb和gdbServer两个工具,gdb运行PC上,gdbServer运行于开发板,通过网络进行连接。
  • 网络需要能ping通目标板,且telnet可以访问。

在Ubuntu下简单体验GDB

在root用户权限下,执行apt-get install gdb指令,安装GDB
在这里插入图片描述

编译代码时,增加-g选项:
在这里插入图片描述

利用GDB调试运行程序
在这里插入图片描述

嵌入式GDB移植

(一)移植准备
要想在PC 上通过 gdb 调试嵌入式程序,那么需要两个东西:gdb 和gdbserver,其中 gdb 是运行在 PC 上的, gdbserver 需要我们移植到开发板上。
一般交叉编译已经自带了 gdb 和 gdbserver,比如我使用的Linaro 出品的交叉编译器,就自带gdb和gdbserver。如果交叉编译工具不自带有,则需要在gdb 官网上获取源码进行编译生成gdbserver。
在这里插入图片描述

(二)移植gdbserver
将gdbserver拷贝到开发板”/usr/bin”目录下,输入”gdbserver –version”可以查看版本
在这里插入图片描述

(三)使用GDB进行嵌入式程序的调试
编写测试代码gdbtest.c,代码如下:

#include <stdio.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
unsigned int times = 0;
while(1) {
printf("runing times:%d\r\n", times);
times++;
sleep(1);
}
}

执行交叉编译,增加”-g”选项,生成可执行程序拷贝到开发板。
在这里插入图片描述

一切就绪,确保PC上的ubuntu和开发板可以正常通信。
在开发板上执行如下指令, 192.168.1.99是PC上ubuntu的IP,2001是端口号,随意一个。gdbtest是可执行程序。
在这里插入图片描述

在PC机的ubuntu上,可以开始调试!
在这里插入图片描述

GDB 常用命令参考

在这里插入图片描述

网络通信设置注意事项

开发板需要ping通VMWare中的虚拟机,VMware需要设置成桥接模式,且处于同一个网段。
在这里插入图片描述

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值