ChkBugReport是一個(gè)開源工具,它可以把你得到的bugreprot解析成適合閱讀的html文件。導(dǎo)出的html文件包含了根據(jù)bugreport數(shù)據(jù)得出的圖表和分析結(jié)論。
它的源碼中用到了以下開源類庫: jQuery ,jsTree jQuery plugin , tablednd jQuery plugin , tablesorter jQuery plugin ,js-hotkeys, jquery-cookie 。學(xué)習(xí)輸出報(bào)告文檔型html可以參考源碼。
軟件特色:
目前ChkBugReport可以從bugreport數(shù)據(jù)中抽取出如下信息:
1、Stacktraces ChkBugReport可以從bugreport中解析出輸出bugreport的最后時(shí)刻、導(dǎo)致ANR時(shí)刻甚至更多時(shí)刻的堆棧信息。在例子中你可以看到進(jìn)程的優(yōu)先級和策略都已標(biāo)示出來,堆棧中耗時(shí)的部分顏色是黑紅,一些違反Strict Mode的部分(比如主線程中使用數(shù)據(jù)庫)顏色標(biāo)記為亮紅。如果這個(gè)線程死鎖,在報(bào)告的Errors將會(huì)出現(xiàn)。
2、Logs 這部分是對system、main和kernel日志的分析,在這里你可以看到每個(gè)進(jìn)程內(nèi)存使用圖、那個(gè)程序產(chǎn)生的log最多、Activity的啟動(dòng)耗時(shí)、數(shù)據(jù)庫操作耗時(shí)統(tǒng)計(jì)、對象被鎖定時(shí)間、AIDL調(diào)用時(shí)間、Activity和Service的生命周期及其在內(nèi)存中使用頻率等等,詳見
3、Packages ChkBugReport解析bugreport中存儲(chǔ)的packages.xml并展示一系列的packages、user ids和 permissions。參見
4、Processes 操作app過程中產(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ù)
同時(shí)ChkBugReport也可以檢測到(潛在的)錯(cuò)誤,這些錯(cuò)誤在輸出的報(bào)告Errors部分中可以找到。你也可以在輸出報(bào)告的stacktrace中找到死鎖或一些違反Strict Mode的行為。