bug调试的checklist

🔍 溯源 ✍️ Jack | 📅 2024-09-07 | 👍 1 | 原帖↗
#知识星球 #立芯嵌入式 #来源/立芯星球 #技术/调试可靠性 #技术/调试方法论 #质量/精华

原帖 | Jack | 2024-09-07 03:14 | 👍1 | 阅读约1

bug调试的checklist:
1.栈大小
2.优化等级,开发阶段建议0
3.进入死循环(全速运行程序然后按暂停,看是否进入Hardfault,然后用栈回溯,或者cmbacktrace,离线/在线捕获的场景区别见 cm_backtrace也是可以捕获hardfault
4.打印每个相关函数的返回值
5.打印链路上的指针为空的情况,打断点到指针运行处,看指针里面是不是0x00000000
6.Freertos最好使用Freertos本身的api,比如使用queue.h文件里面的函数,task.h里面的函数,而不是CMSIS_os_V2.h里面的函数。
7.比如按键操作如果用polling的方式,它运行很快,打断点不方便观察,应该在每个状态机或if语句里放置printf(“1/r/n”);printf(“2/r/n”);等


相关笔记