Bootstrap

嵌入式软件 Bug 排查与调试技巧

目录

1、准备工作

2、打印调试

实现步骤

注意事项

3、断点调试

4、观察点调试

5、远程调试

6、内存分析

内存泄漏检测

栈溢出检测

7、异常处理

8、性能分析

9、逻辑分析仪

10、示波器

11、常见bug类型

12、调试策略


1、准备工作

  1. 硬件工具准备
    • 调试器:例如 J - Link、ST - Link 等。以 J - Link 为例,它支持多种 ARM 架构的微控制器调试。在调试时,通过将调试器连接到目标芯片的调试接口(如 JTAG 或 SWD),可以实现对芯片内部寄存器、内存等的访问。
    • 逻辑分析仪:对于一些涉及到复杂的数字信号交互的嵌入式系统,逻辑分析仪是必不可少的。比如在调试 SPI(Serial Peripheral Interface)或 I2C(Inter - Integrated Circuit)通信协议时,逻辑分析仪可以捕获通信线上的信号时序,帮助我们判断数据传输是否正确。它可以设置触发条件,当满足特定条件(如特定的地址或数据值出现)时开始捕获信号。
    • 示波器:如果嵌入式系统涉及到模拟信号处理或者高速数字信号,示波器就非常有用。例如,在调试一个基于 PWM(Pulse - Width Modulation)控制的电机驱动系统时&
;