ChkBugReport是一款可以快速地檢查輸出的Android錯(cuò)誤報(bào)告的工具,這款軟件可以從Android錯(cuò)誤報(bào)告工具輸出的大量文本文件中進(jìn)行語(yǔ)義分析,然后解析成一個(gè)更具有可讀性的文檔,分析起來(lái)更加容易。
可抽取bugreport信息:
1、Stacktraces ChkBugReport可以從bugreport中解析出輸出bugreport的最后時(shí)刻、導(dǎo)致ANR時(shí)刻甚至更多時(shí)刻的堆棧信息。在例子中你可以看到進(jìn)程的優(yōu)先級(jí)和策略都已標(biāo)示出來(lái),堆棧中耗時(shí)的部分顏色是黑紅,一些違反Strict Mode的部分(比如主線程中使用數(shù)據(jù)庫(kù))顏色標(biāo)記為亮紅。如果這個(gè)線程死鎖,在報(bào)告的Errors將會(huì)出現(xiàn)。
2、Logs 這部分是對(duì)system、main和kernel日志的分析,在這里你可以看到每個(gè)進(jìn)程內(nèi)存使用圖、那個(gè)程序產(chǎn)生的log最多、Activity的啟動(dòng)耗時(shí)、數(shù)據(jù)庫(kù)操作耗時(shí)統(tǒng)計(jì)、對(duì)象被鎖定時(shí)間、AIDL調(diào)用時(shí)間、Activity和Service的生命周期及其在內(nèi)存中使用頻率等等
3、Packages ChkBugReport解析bugreport中存儲(chǔ)的packages.xml并展示一系列的packages、user ids和 permissions。
4、Processes 操作app過(guò)程中產(chǎn)生的系統(tǒng)事件日志、內(nèi)存使用信息等等
5、Battery statistics 電池使用統(tǒng)計(jì)信息
6、CPU Frequency statistics CPU頻率統(tǒng)計(jì)信息
7、Raw data 被分割成小段的原始數(shù)據(jù)
使用方法:
1、分析Bugreport文件
java -jar $HOME/Downloads/chkbugreport.jar $HOME/tmp/bugreport.txt
你也可以把chkbugreport.jar加到path下,然后這樣使用,這將根據(jù)你的bugreport數(shù)據(jù)輸出一個(gè)分析結(jié)果目錄bugreport_out。
chkbugreport thebugreport.txt
你可以使用如下命令取得bugreport:
adb bugreport > bugreport.txt
2、分析BugReport的部分?jǐn)?shù)據(jù)
當(dāng)然你可以使用ChkBugReport分析bugreport的部分?jǐn)?shù)據(jù)比如/data/anr/traces.txt
chkbugreport -sl:the_system_log.txt -sa:traces.txt dummy
這將輸出分析結(jié)果到dummy_out。
3、分析profile文件
你甚至可以使用ChkBugReport分析traceview生成的數(shù)據(jù)
chkbugreport -t something.prof
4、分析monkey文件
chkbugreport -t something.profjava -jar chkbugreport-0.4-164.jar output_file_name -mo:monkey.log
chkbugreport的常見參數(shù)如下: