1.把定位崩溃问题这个问题打开(这个有点绕,但确实要这么说,具体请仔细体会),其中可能的定位信息:1.crash日志 2.日常日志
2.从crash文件可以分析得到调用堆栈(如果可以通过dsym解出的话),可以得到崩溃的时间,设备类型,系统版本号,crash线程,还有其他额外的提示信息(可能标示着崩溃的原因及一些相关性能数据等),binary images(目前没有发现用处)
3.从崩溃时间去查找日常日志,可以看到崩溃前的最后一些调用,根据可能的原因和线程号进行分析,再结合上面能解出的堆栈,基本就可以定位出问题的代码块,如此再通过代码分析来一步步解决问题
4.关于5w2h what:找到崩溃的代码块 why:因为是难以复现或者是不具备复现条件的问题,目前仅能根据日志来定位 when:从日志时间和crash时间点作为前置条件进行过滤分析
where:深入到日常日志内部 who:谁调用了谁,谁的地方出了问题(线程id!!!) how:结合代码再进行查看 how much:根据问题的棘手程度来定,大部分情况下推荐获取到dsym解出堆栈日志信息,方便定位;若比较简单则可以通过除堆栈外的手法快速定位
5.以上就是使用了5w2h歪曲分析了一下问题哈 最重要的是把问题解决
时间: 2024-09-17 01:57:43