DDMS
Android提供一個全名為Dalvik Debug Monitor Server (DDMS)的工具,調試監控服務系統DDMS提供下列調試監控功能:
將應用程序在Dalvik Runtime執行時發生的錯誤以logcat命令方式返回給開發人員。
支持窗體擷取功能,可以將錯誤的窗體或信息擷取下來以方便后續調試。
提供一個port-forwarding服務,可以將這個調試工具安裝到實際硬件設備上,也就是說當一般用戶使用這些應用程序時,若是發生錯誤,可以將這些錯誤信息攔截下來,返回給應用程序開發人員。
提供設備上線程(Thread)和堆棧(Heap)的信息和狀況。
還有無線狀態信息、撥入電話、短消息、模仿經緯度位置的數據等等。
DDMS與adb互為表里,DDMS需要通過adb銜接到Android仿真器或手機裝置進行錯誤監控。
因為Android的平台是Linux,它支持多任務多線程,因此每一個在Android上面運行的應用程序,都有單獨的進程,創建起單獨的Dalvik虛擬機,並通過單獨的port連接到DDMS除錯工具。
所以即使同時運行多個程序,每一個應用程序發生的錯誤都會分別發送到DDMS進行記錄,不會有漏掉的情況。
DDMS工具放在Android SDK的tools目錄下,命令行下輸入ddms即可啟動一個Dalvik Debug Monitor窗口。我們在Eclipse中使用的DDMS就是對該工具的集成。
DDMS顯示消息
DDMS畫面的下面方框實時顯示每一個程序(以進程號碼PID表示)通過Dalvik虛擬機所傳出的實時消息,也就是運行adb logcat時所顯示的消息。
DDMS有分類功能:
V: Verbose 顯示全部消息
D: Debug
I: Info 一般消息
W: Warning
E: Error
DDMS的資源管理功能
可以使用命令行模式adb shell進行文件管理,但是窗口界面更加方便。
DDMS功能菜單中的Device選項里的File Explorer項目就可以啟動資源管理器。
DDMS截圖功能
單擊Device->Screen Capture或是直接按快捷鍵Ctrl+S,就可以直接抓取Android仿真器當前屏幕上的畫面。
DDMS系統檢視功能
Device->Show process status會顯示Android系統上所有正在運行的進程,也可運行adb shell ps-x指令得到相同的結果。
Device->Dump device state就是adb shell dumpsys顯示所有的系統消息。
Device->Run logcat就是adb logcat顯示DDMS畫面上的除錯消息。