久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

ChkBugReport使用指南

 jiffes 2017-07-14

http://blog.csdn.net/gjsisi/article/details/12105145

一,、ChkBugReport介紹

ChkBugReport是一個開源工具,它可以把你得到的bugreprot解析成適合閱讀的html文件。導(dǎo)出的html文件包含了根據(jù)bugreport數(shù)據(jù)得出的圖表和分析結(jié)論,。

它用到了以下開源類庫:

目前ChkBugReport可以從bugreport數(shù)據(jù)中抽取出如下信息:

  1. Stacktraces ChkBugReport可以從bugreport中解析出輸出bugreport的最后時刻、導(dǎo)致ANR時刻甚至更多時刻的堆棧信息,。在例子中你可以看到進(jìn)程的優(yōu)先級和策略都已標(biāo)示出來,,堆棧中耗時的部分顏色是黑紅,一些違反Strict Mode的部分(比如主線程中使用數(shù)據(jù)庫)顏色標(biāo)記為亮紅,。如果這個線程死鎖,,在報告的Errors將會出現(xiàn)。
  2. Logs 這部分是對system,、main和kernel日志的分析,,在這里你可以看到每個進(jìn)程內(nèi)存使用圖、那個程序產(chǎn)生的log最多,、Activity的啟動耗時,、數(shù)據(jù)庫操作耗時統(tǒng)計(jì)、對象被鎖定時間,、AIDL調(diào)用時間,、Activity和Service的生命周期及其在內(nèi)存中使用頻率等等,,詳見
  3. Packages ChkBugReport解析bugreport中存儲的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ù)

等等同時ChkBugReport也可以檢測到(潛在的)錯誤,這些錯誤在輸出的報告Errors中可以找到,。你也可以在輸出報告的stacktrace中找到死鎖或一些違反Strict Mode的行為,。

二、ChkBugReport使用

1,、分析Bugreport文件

java -jar $HOME/Downloads/chkbugreport.jar $HOME/tmp/bugreport.txt

你也可以把chkbugreport.jar加到path下,,然后這樣使用,這將根據(jù)你的bugreport數(shù)據(jù)輸出一個分析結(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

附prof數(shù)據(jù)生成方法:

  1. 可以使用eclipse插件traceview生成
  2. 也可以按如下步驟
    • 用adb shell ps列出所有進(jìn)程并找出你想要trace的進(jìn)程的PID
    • 執(zhí)行adb shell am profile PID start /data/profile.dat,,開始分析
    • 操作你的app
    • 執(zhí)行adb shell am profile PID stop ,,停止分析
    • 導(dǎo)出數(shù)據(jù)并清除臨時文件:adb pull /data/profile.dat adb shell rm /data/profile.dat
    • 使用ChkBugReport進(jìn)行分析 chkbugreport -t profile.dat

4、分析monkey文件

chkbugreport -t something.prof
java -jar chkbugreport-0.4-164.jar output_file_name -mo:monkey.log

chkbugreport的常見參數(shù)如下:

參數(shù) 說明
-ds:file 分析dumsys輸出(類似-pb)
-el:file 分析event日志
-ft:file 分析ftrace dump
-ml:file 分析main日志
-mo:file 分析monkey輸出并提取堆棧信息
-pb:file 加載bugreport部分?jǐn)?shù)據(jù)(例如dumpsys輸出的數(shù)據(jù))
-pk:file 加載packages.xml
-ps:file 分析 “processes”部分
-pt:file 分析”processes and threads”部分
-sa:file 分析”vm traces at last anr”部分
-sl:file 分析system日志
-sn:file 分析”vm traces just now”部分
-sd:dir 從指定目錄加載部分bugreports
-uh:file 加載usage-history.xml

其他參數(shù)(較少使用):

不常用參數(shù) 說明
–browser 分析完后啟動瀏覽器查看結(jié)果報告
–gui 不指定文件名則啟動圖形界面(開發(fā)中)
–silent 不輸出非嚴(yán)重錯誤信息
–limit 限制要分析文件大小
–no-limit 不限制分析文件大小

三,、相關(guān)參考

  1. 開源工具ChkBugReport介紹
  2. ChkBugReport源碼
  3. ChkBugReport最新jar包下載
  4. 使用ChkBugReport輸出的報告參考例子
    • 進(jìn)程死鎖的簡單例子
    • 兩個進(jìn)程相互調(diào)用對方的AIDL導(dǎo)致阻塞的死鎖例子
    • 這個例子結(jié)合了上面兩例子(由于一進(jìn)程調(diào)用AIDL阻塞造成另一線程死鎖)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多