android:DDMS查看ThreadsDDMS查看Threads情況

來源:互聯網
上載者:User

from:DDMS查看Threads情況

有時候程式運行出現死結或者訊號量卡死是很糾結的問題,單看代碼很難分析定位問題,這時候可以藉助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下,檢查他的執行情況 ,再回頭結合代碼,一般都能找到問題出在什麼地方;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.