2017年12月17日 星期日

Android ANR和Crash问题小结--分析log

Android ANR和Crash问题小结--分析log

在手机项目中,ANR和Crash都是比较常见的一类问题,解决起来非常耗费时间,但是又不能放弃,这些问题影响产品性能,这里记录一下我是如何分析ANR和Crash的。
一般遇到ANR或者Crash问题,到工程师手上时,基本上就是只有一个操作流程描述(友情提醒:这个操作流程未必描述的准确和详实)和一个log文件夹,要求解决或者给出一个说明(基本上就是跟芯片商的CE来回撕逼,给一个与自己无关的说明)

ANR问题:
1.log文件夹下全局搜am_anr,此时会把log文件下下所有的包含am_anr的行显示出来(也可以搜activitymanager: ANR)
2.一般同一个时间点的anr log会在不同的文件中出现两次,一次是logxxx.txt中,一次是在crash_xxxxxx文件夹中的aplog_ANR_时间文件中
3,进入到crash_xxxxxx文件夹下,找到一个data_app_anr@xxx.txt文件
4,在data_app_anr@xxx.txt文件中找到"main" prio=5 tid=1 Nativ这一行,往下看会有一些异常log,这些log描述的就是问题原因

ANR如果是由于主线程阻塞,在data_app_anr@xxx.txt中的"main" prio=5 tid=1 中会显示 block

在处理ANR问题时,找到在log文件中找到ANR log出现的节点,然后要往上看一部分,因为有些log是自动化测试在模拟点击事件,反复点击或者进入一个应用,往上看一部分log有助于分析在ANR之前手机有哪些操作。

Crash问题:
1.log文件夹下全局搜am_anr,此时会把log文件下下所有的包含am_crash的行显示出来
2.crash问题很好看,基本上就代码写的有问题,针对出现的问题修改一下就好

友情提醒
分析log时往往要全局或者是整个文件下搜索,找一个自己用的顺手的文本编辑器很重要,本人使用的是sublime,它可以导入整个文件夹,搜索起来很方便



轉自
http://blog.csdn.net/dzy_mails/article/details/51917454

沒有留言:

張貼留言

星期、月份英文縮寫

中文 英文 3字母 縮寫 3字母 縮寫 2字母 縮寫 2字母 縮寫 1字母 縮寫 1字母 縮寫 其他 縮寫 星期日 Sunday SUN Sun SU Su S S 星期一 Monday MON Mon MO Mo M M 星期二 Tuesday TUE Tue TU ...