嵌入式系统中的gdb自动调试技巧

本文介绍一种让GDB随嵌入式设备开机自动运行的方法,通过编写配置文件.gdbinit,并放置在指定目录,使GDB能在系统启动时自动加载运行,便于调试难以复现的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文介绍了一种方法,让gdb随嵌入式设备开机自动运行。出问题后再连接上设备查看原因


在嵌入式系统中,有时会遇到较低概率的死机情况。

这时,因为不太容易复现,会导致调试中的一些麻烦。

在这种情况下,就可以将gdb做到嵌入式文件系统中,随系统的启动自动运行。

从而可以一次性升级多台机器(比如10台),同时测试。只要出问题时,利用gdb查看结果即可

下面介绍实施方案:


1, 需要自行编写一个gdb配置文件,命名为.gdbinit,将其放置在当前目录中,内容类似这样:

#filename:.gdbinit
#gdb will read it when starting
file ./bin/sctrl
r
很明显,文件中的每一行,都代表着一个命令。你也可以在其中添加断点的命令


2, 有了这个文件之后,到该目录下直接运行类似下面的命令,即可自动加载并开始运行:

./gdb-arm-linux


3,如果,机器的串口不方便连接,可以使用重定向的方式

首先,.gdbinit中内容中,"r" 的下一行添加"bt"命令。这样会令程序在出问题之后,输出当时的调用栈

然后,启动命令改成这样:

./gdb-arm-linux > /etc/gdb.log 

这样处理之后,一但遇到单号 ,只需要telnet连接机器,然后cat /etc/gdb.log就能看到bt的内容了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值