最近在开发嵌入式软件的时候,由于一开始不熟悉相关行业的产品,以及开发产品的时间不到一年,当遇到一些问题的时候,不知道从哪里入手,影响了解决问题的效率,并且耗费了大量的时间在做无用功,现在总结一下,这里主要是针对嵌入式方面的产品开发。
BUG1:医疗嵌入式产品,有一些外接模块,当一插附件探头的时候,机器重启,如果没有拔出来,机器会不断的重启。
之前的解决步骤:
1. 确认bug,获取机器上面的软硬件日志错误信息:根据记录的CR,跟测试沟通和交流,确认bug发生的条件,摸索出bug产生的规律,并且获取机器上面的软硬件日志。
注:软硬件日志是之前代码里面开发的一套异常处理机制,所以利用好这些资源。
2、查看软硬件日志,里面有很多的记录,如何刷选这些日志?一般不断重启都是比较严重的错误,所以在错误级别上面比较高,另外看日志信息描述,一定可以看出那条日志是重启的时候记录的,如下面,这里面有好几条,但是通过查看“Severity”,就知道里面有一条“catastrophic”,咱不理会这个词是什么意思,继续看后面的“
Info="Memory Exception @ 0x00000000 thread @ EventRecorder - Clinical PC @ 0x

本文总结了在嵌入式软件开发中遇到问题时的定位策略。当医疗嵌入式产品连接附件探头导致重启时,通过分析软硬件日志、使用模拟工具、查看PC端堆栈信息等步骤,定位到错误源自缺少字符串导致的空指针问题。强调了解决问题的关键是利用现有资源、关注代码改动,并集中于最可能出错的部分。
&spm=1001.2101.3001.5002&articleId=8678234&d=1&t=3&u=4ab180daead94b8caafdd3301ab052ba)
4062

被折叠的 条评论
为什么被折叠?



