ChkBugReport是一款开源工具,可以把bugreprot解析成适合阅读的html文件,可以很好地方便我们分析结论,让我们不用再为经常碰到的ANR而烦恼了,也不用担心应用崩溃了,对于编程日志错误,乱码我们也利用ChkBugReport来解决,而且ChkBugReport使用简单,软件本身小巧,运行起来完全不会占用系统资源,也丝毫不会干扰你的电脑正常工作。安全无毒,没有恶意捆绑软件,大家可以放心的下载使用!
使用教程
分析Bugreport文件java -jar $HOME/Downloads/chkbugreport.jar $HOME/tmp/bugreport.txt
(1)你也可以把chkbugreport.jar加到path下,然后这样使用,这将根据你的bugreport数据输出一个分析结果目录bugreport_out。
chkbugreport thebugreport.txt
(2)你可以使用如下命令取得bugreport:
adb bugreport > bugreport.txt
分析BugReport的部分数据(1)当然你可以使用ChkBugReport分析bugreport的部分数据比如/data/anr/traces.txt
chkbugreport -sl:the_system_log.txt -sa:traces.txt dummy
(2)这将输出分析结果到dummy_out。
(3)分析profile文件
(4)你甚至可以使用ChkBugReport分析traceview生成的数据
chkbugreport -t something.prof
prof数据生成方法1.可以使用eclipse插件traceview生成
2.也可以按如下步骤
3.用adb shell ps列出所有进程并找出你想要trace的进程的PID
4.执行adb shell am profile PID start /data/profile.dat,开始分析
5.操作你的app
6.执行adb shell am profile PID stop ,停止分析
7.导出数据并清除临时文件:adb pull /data/profile.dat adb shell rm /data/profile.dat
8.使用ChkBugReport进行分析 chkbugreport -t profile.dat
分析monkey文件chkbugreport -t something.prof
java -jar chkbugreport-0.4-164.jar output_file_name -mo:monkey.log
参数
常见参数
不常见参数
功能特色
ChkBugReport可以从bugreport数据中抽取出如下信息
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 被分割成小段的原始数据
8.同时ChkBugReport也可以检测到(潜在的)错误,这些错误在输出的报告Errors部分中可以找到。你也可以在输出报告的stacktrace中找到死锁或一些违反Strict Mode的行为。
开源类
jQuery
jsTree jQuery plugin
tablednd jQuery plugin
tablesorter jQuery plugin
js-hotkeys
jquery-cookie