:)
平時一般開發(fā)的時候可能用不到源碼調(diào)試躯畴,但是在學習的時候很有可能還是會用到影涉,特別是分析流程的時候
需要的知識
- Android里面每一個應(yīng)用程序都對應(yīng)著一個虛擬機(至少一個進程)
- 要調(diào)試就要首先清楚的知道需要調(diào)試那個進程
- 每個虛擬機在啟動的時候都會啟動一個jdwp線程夏跷,這個線程就是專門用來調(diào)試的
- 這個jdwp線程可以建立在adb或者tcp基礎(chǔ)上扁藕,與DDMS或debugger進行通信
- 也就是所我們只要用debugger鏈接上這個線程就可以調(diào)試了
調(diào)試的前提條件
- 我們app的進程的話磷蛹,需要時候debug的默認簽名默認就是可調(diào)式的烘浦,如果不是debug默認的簽名就需要在AndroidManifest里面添加一個可以調(diào)試的標記
- 如果需要調(diào)試系統(tǒng)的進程抖坪,就用模擬器
- 還有就是需要把模擬器對應(yīng)版本的源代碼下載下來(我這里就使用23的版本)
調(diào)試過程
- 打開模擬器(我打開的是23的模擬器)
- 使用debugger連接到指定的進程(as 的Run菜單的最后一個)
-
選擇一個進程
-
如果連接成功控制臺會有日志信息
- 這個時候就可以打斷點進行調(diào)試了
最后需要注意的是Android里面有很多跨進程的操作(binder),要選中正確的進程才行
感謝那些愿意分享的人 have a good day ~