问题描述
某一次更新APP后在做OTA压力测试时发现每更新个几百次总是会死机一次,而且关机重启之后就能正常进入APP了。
问题分析:boot问题
重启能正常进入APP,说明OTA是完成了的,所以有可能是OTA完成之后跳转的时候失败了,所以决定采用OTA终极大法:直接在汇编中跳转:
使用完之后发现还是会,于是基本排除是跳转出的问题,无奈插上调试器看打印信息(由于种种原因,机器不太好接调试器),发现出错的时候APP里面的打印信息还是维持了一会的,说明确实已经成功跳转到APP里来了
APP问题:修改APP
通过打印信息基本确定是APP问题,因此换用上一版APP试了下确实不会死机,因此可以确定是本次APP的更改导致了会死机,因此对比两次APP的改动看下是哪个改动有可能会导致死机的是个可行的方法,但是分析未发现有哪个改动明显有可能导致死机的,无奈只能挨个的试,把改动挨个的去掉直到不会死机为止,但是由于复现一次需要半天的时间,本次APP的改动又实在多,因此花了2天尝试了3-4次之后感觉不能再这么下去了,必须得换用方法
直击问题:打印堆栈、中断、异常类型等信息
由于时间问题,没时间一点点倒腾了,因此最好能够在一次出错时就直击问题的根源,根据之前的调试发现,每次出错时都是进入了HardFault