ChkBugReport是一款可以快速地检查输出的Android错误报告的工具,这款软件可以从Android错误报告工具输出的大量文本文件中进行语义分析,然后解析成一个更具有可读性的文档,分析起来更加容易。
1、Stacktraces ChkBugReport可以从bugreport中解析出输出bugreport的最后时刻、导致ANR时刻甚至更多时刻的堆栈信息。在例子中你可以看到进程的优先级和策略都已标示出来,堆栈中耗时的部分颜色是黑红,一些违反Strict Mode的部分(比如主线程中使用数据库)颜色标记为亮红。如果这个线程死锁,在报告的Errors将会出现。
2、Logs 这部分是对system、main和kernel日志的分析,在这里你可以看到每个进程内存使用图、那个程序产生的log最多、Activity的启动耗时、数据库操作耗时统计、对象被锁定时间、AIDL调用时间、Activity和Service的生命周期及其在内存中使用频率等等
3、Packages ChkBugReport解析bugreport中存储的packages.xml并展示一系列的packages、user ids和 permissions。
4、Processes 操作app过程中产生的系统事件日志、内存使用信息等等
5、Battery statistics 电池使用统计信息
6、CPU Frequency statistics CPU频率统计信息
7、Raw data 被分割成小段的原始数据
1、分析Bugreport文件
java -jar $HOME/Downloads/chkbugreport.jar $HOME/tmp/bugreport.txt
你也可以把chkbugreport.jar加到path下,然后这样使用,这将根据你的bugreport数据输出一个分析结果目录bugreport_out。
chkbugreport thebugreport.txt
你可以使用如下命令取得bugreport:
adb bugreport > bugreport.txt
2、分析BugReport的部分数据
当然你可以使用ChkBugReport分析bugreport的部分数据比如/data/anr/traces.txt
chkbugreport -sl:the_system_log.txt -sa:traces.txt dummy
这将输出分析结果到dummy_out。
3、分析profile文件
你甚至可以使用ChkBugReport分析traceview生成的数据
chkbugreport -t something.prof
4、分析monkey文件
chkbugreport -t something.profjava -jar chkbugreport-0.4-164.jar output_file_name -mo:monkey.log
chkbugreport的常见参数如下: