????今天給大伙們講一下關(guān)于安卓開發(fā)遇到問題后,快速定位問題的解決方案【調(diào)試】。
? ? 首先,筆者使用的是android studio編程軟件。
? ? 當遇到問題時候,不要慌,我們可以嘗試使用調(diào)式工具對代碼有一個宏觀的理解:包括代碼進行的流程、變量值的改變。對代碼最有可能出錯的地方打上斷點。


開始后,代碼執(zhí)行到第一個斷點會停止向下執(zhí)行,如果第一個斷點沒到就出錯。那就是斷點前的代碼出錯了。可以進一步收縮代碼出錯判斷區(qū)域,再進行測試。

這里講解一下紅色箭頭那一排的按鈕,當鼠標懸停在按鈕之上會有提示字如:Setp Over、Strp out等等
step over 意思為:執(zhí)行下一行代碼
step into 意思為:執(zhí)行下一行代碼,如果當前代碼行為自定義方法,則跳進方法里面執(zhí)行下一行代
碼
step out 意思為:跳出自定義方法,當自進入了自定義方法,又確認方法內(nèi)代碼無誤,可使用其跳出到調(diào)用處,該方法內(nèi)的代碼全部被執(zhí)行過
force step Into 意思為:強制進入,用于有時候想進入官方庫的類包代碼
run to cursor 直接從一個斷點執(zhí)行到下一個斷點處,也可以使用F8 Resume Program效果相同
drop frame 意思為:退回
重要的都解釋完了,看完后還是要多練習,不一定要有出錯的代碼才可以調(diào)式哦。接下來說點經(jīng)驗所談
1. ?執(zhí)行調(diào)試的時候會發(fā)現(xiàn)代碼怎么按都不跳到下一步,原因是APP等待用戶操作,即模擬器那邊把列表、圖片什么的都顯示完了,等用戶點擊查看的指令,才能進行下一步調(diào)試
2.

3.

如圖,就是說NullPOintExpetion空指針異常,要么就是變量值為空,要么就是沒控件拿不到。
總結(jié):要學會調(diào)式,必須懂打斷點,及幾個調(diào)式按鈕在什么時候用
以前總是看代碼研究代碼去找問題,但是老師說:懂方法的人比不懂方法的人,寫代碼要輕松