dmtracedump
工具可使用追蹤記錄檔產生圖形呼叫堆疊圖表。此工具使用 Graphviz Dot 公用程式建立圖形輸出,因此,您必須先執行 Graphviz,然後才能執行 dmtracedump
。如果您尚未產生追蹤記錄,並將這些記錄從已連結的裝置儲存至本機電腦,請參閱「檢測應用程式以產生追蹤記錄」。
dmtracedump
工具會以樹狀圖的形式產生呼叫堆疊資料,其中各節點都代表一個方法呼叫。使用箭頭顯示呼叫流程 (從父項節點到子項節點)。下圖顯示 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%。 |
輸出
圖 1. dmtracedump 螢幕截圖
如需圖表中各節點資訊,dmtracedump
會顯示下列資訊:
ref callname (inc-ms, exc-ms,numcalls)
ref
— 呼叫追蹤記錄使用的參考編號inc-ms
— 包含經過時間 (在方法中花費的毫秒數,包括所有子項方法)exc-ms
— 排除經過時間 (在方法中花費的毫秒數,不含任何子項方法)numcalls
— 呼叫次數