dmtracedump
這項工具可
追蹤記錄檔案中的圖形呼叫堆疊圖表。這項工具使用 Graphviz
使用 Dot 公用程式建立圖形輸出,因此您必須安裝 Graphviz
執行 dmtracedump
之前。如果您尚未產生追蹤記錄,
會將這些內容從已連結的裝置儲存至本機電腦
檢測應用程式以產生追蹤記錄。
dmtracedump
工具會以樹狀圖的形式產生呼叫堆疊資料,其中
node 代表方法呼叫顯示呼叫流程 (從父項節點到子節點)
並按下箭頭即可下圖顯示 dmtracedump
的輸出內容範例。
dmtracedump
工具隨附於 Android SDK Tools 套件中,
位於 android-sdk/platform-tools/
。
語法
dmtracedump 的使用方法如下:
dmtracedump [-ho] [-s sortable] [-d trace-base-name] [-g outfile] trace-base-name
然後工具會載入 trace-base-name.data
和
trace-base-name.key
。
全域選項
全域選項 | 說明 |
---|---|
-h |
開啟 HTML 輸出 |
-o |
傾印追蹤檔案而不剖析 |
指令和指令選項
指令和選項 | 說明 |
---|---|
-d trace-base-name |
與此追蹤記錄名稱的差異 |
-g outfile |
產生輸出至 outfile |
-s sortable |
可排序 JavaScript 檔案位置的網址基底 |
-t percent |
在圖表中加入子項節點的最低閾值 (子項收錄時間做為 父項收錄時間的百分比)。如果不使用這個選項,則採用預設閾值 20% |
輸出
對於圖表中每個節點,dmtracedump
會顯示下列內容:
每個 ACL 都由一或多個項目組成
而這些項目包含兩項資訊
ref callname (inc-ms, exc-ms,numcalls)
ref
— 呼叫追蹤記錄使用的參考編號inc-ms
— 包含經過時間 (在方法中花費的毫秒數, 包括所有子方法)exc-ms
— 排除經過時間 (在方法中花費的毫秒數, 不含任何子項方法)numcalls
— 呼叫次數