分析死机问题没有固定的方法,可以大体参考如下步骤进行分析,
一、使用dump parse tool(附件Dump_Parse_Tool_V4.6.7z)参考工具里的文档解析dump log,解析时解析完后大体按照如下步骤分析,
1、打开com_EE_Hbuf.bin文件,头部有死机原因。本文件多数是乱码,只有死机原因是字符串。如果是主动assert的,可以快速定位。
2、output_rti_tsk.txt文件查看死机任务,找到<<< end字符串,
3、2确定了死机任务后,output_all_task.txt里去找任务调用栈。
4、如果怀疑踩内存,output_mmi_pool.txt和output_osa_mem.txt文件搜CORRUPTED关键字。
5、output_mmi_pool.txt和output_osa_mem.txt文件里确认是否内存不足,查看poolSize和BytesInUse字段,配合trace32分析。
6、以上还是无法确认rootcause,使用trace32继续分析。
二、使用trace32分析dump log。
trace32工具可以使用附件中的simarm.zip,解压后,执行t32marm.exe,然后File --> Run Script,选择执行贵司功能机代码crane-phone-rls\evb\src\tool\T32cmm_4_crane下的t32.cmm脚本,之后在弹出的选择框里依次选择elf文件和dump log里的com_DDR_RW.bin文件,这样就可以看到类似#21楼里的窗口了,接下来就可以参考公开的trace32和arm汇编知识进行问题分析了。
一些死机问题的分析可以参考如下链接中的《ASR手表方案的常见客户问题分析.V1.1.ppt》文档的P11~26,虽然是手表方案的,分析方法是一样的。
[翱捷]功能机死机问题分析方法
于 2025-04-12 11:02:04 首次发布