DDMS檢視Threads情況

2021-06-03 04:47:32 字數 1003 閱讀 2400

有時候程式執行出現死鎖或者訊號量卡死是很糾結的問題,單看**很難分析定位問題,這時候可以借助ddms來檢視threads的運**況,一目了然。

手機連線上usb,確保adb連通,然後啟動eclipse裡的ddms,這時候應該手機就正常連線上了

就如上圖中顯示的,只要連線上了就可以檢視某個程序裡的所有執行緒的活動了; 下面具體解釋下threads標籤頁裡給出的每個欄位的意思:

id:   虛擬機器分配的唯一的執行緒id,在dalvik裡,它們是從3開始的奇數。 

tid:linux的執行緒id號 

stauts:執行緒狀態,比較多,有下面的一些 

running:  正在執行程式** 

sleeping:執行了thread.sleep() 

monitor:等待接受乙個監聽鎖。 

wait::object.wait(),等待被其他執行緒喚醒 

native:正在執行native**, 

vmwait:等待虛擬機器,(這個不是很懂,高手指教,這個狀態在什麼情況下發生) 

zombie:執行緒在垂死的程序 

init:執行緒在初始化(我們不可能看到) 

starting:執行緒正在啟動(我們不可能看到) 

utime:執行使用者**的累計時間 

stime:執行系統**的累計時間 

name:執行緒的名字

另外,右側每個thread選中之後可以在下面看到refresh按鈕,這個點了之後,可以看到執行緒的函式執行,結合status可以知道目前情況;而出現問題時某個執行緒一般會變為monitor狀態,這時候就要特別留意他,並refresh下,檢查他的執**況 ,再回頭結合**,一般都能找到問題出在什麼地方;

DDMS檢視Threads情況

有時候程式執行出現死鎖或者訊號量卡死是很糾結的問題,單看 很難分析定位問題,這時候可以借助ddms來檢視threads的運 況,一目了然。手機連線上usb,確保adb連通,然後啟動eclipse裡的ddms,這時候應該手機就正常連線上了 就如上圖中顯示的,只要連線上了就可以檢視某個程序裡的所有執行緒...

DDMS檢視Threads情況

ddms檢視threads情況 有時候程式執行出現死鎖或者訊號量卡死是很糾結的問題,單看 很難分析定位問題,這時候可以借助ddms來檢視threads的運 況,一目了然。手機連線上usb,確保adb連通,然後啟動eclipse裡的ddms,這時候應該手機就正常連線上了 就如上圖中顯示的,只要連線上了...

解決DDMS無法檢視 data目錄問題

在使用android sqlite資料庫時,從ddms的fileexplore檢視資料庫檔案時會發現裡面是空的什麼也沒有。發現 data的檔案許可權是drwxrwx x這是linux的檔案許可權 第乙個代表檔案型別d是directory目錄 後面三個是建立者的許可權r讀w寫x執行 再後面三個是同組者...