好了開始寫一個簡單的調試程序,咱們先來一個for循環html
1
2
3
4
5
6
7
8
|
<code
class
=
"language-java hljs "
>
for
(
int
i =
0
; i <
10
; i++) {
//獲取當前i的值
int
selector = i;
//打log查看當前i的值(此步多餘,實際開發請忽略)
Logger.e(
"for當前的i的值:"
+ i);
//調用方法
stepNext(i);
}</code>
|
設置斷點(點擊紅點位置添加或取消斷點)java
點擊debug模式運行<喎�"/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjwvYmxvY2txdW90ZT4NCjxwPjxpbWcgYWx0PQ=="這裏寫圖片描述" src="/uploadfile/Collfiles/20150616/20150616083835148.png" title="\" />git
查看調試面板github
1、簡單調試
1. step over:一步步往下走
當前程序運行的位置,咱們看到i的值已經在程序代碼中展現出來了,黃色的代碼處,這個是AS的功能,對於咱們調試來說,這簡直是很是大的福利了。spa
點擊單步調試按鈕或按快捷鍵F8,看看效果。這裏咱們看到selector變量的值已經出來了
selector:0
,咱們在看看黃色位置i的當前值是0。.net這時咱們繼續F8,咱們切換到logcat查看日誌,我打印出的i的值是0,debug
咱們在切回道Debugger面板,能夠看到Variables顯示面板中,有i的值是0,selector的值是0。以及咱們能夠看到Frames控制面板中能夠顯示出當前程序的位置在:onCreate():28,第28行。調試
2. step into:看到方法往裏走
好比咱們的for循環當中調用了一個
stepNext(int i)
方法,當咱們走到這裏想看看這個方法裏面的運行過程的時候咱們能夠這樣,當走到這個方法的時候咱們能夠按下F7,或者以下圖的圖標。日誌這時就走到了stepNext方法當中。code
在這裏打印了一個log,咱們再按一下F8咱們來看看Logcat, 這裏我打印的log都是爲了作教程用,調試咱們就不用打log了直接看顯示面板就OK了
3. force step into :全部方法看完整
這個是能夠看到你所調用的全部方法的實現會讓你跟着它走一遍,研究源碼使用很是方便
4. step out :有斷點下一個,走完斷點繼續走
這裏若是咱們的一個流程當中,包括調用的方法,若是有斷點走到下一個斷點,若是沒有斷點,而是在一個調用的方法當中,會跳出這個方法,繼續走。
這裏理解比較難,舉個例子:
(上圖)我如今程序位置在第一個斷點位置(24行),我調用的stepNext方法中也有一個斷點,此時我按下step out按鈕會走到stepNext中的斷點處(39行)我此時若是再按一下step out 會走到stepNext方法的調用出的下一個可執行代碼(30行)
(上圖)若是我如今程序位置在stepNext的方法中,若是我此時按下step out,會走到stepNext方法的調用出的下一個可執行代碼(30行)
5. run to Cursor :下個斷點咱們見
這裏的意思就是說,會很快執行到下一個斷點的位置,並且能夠靜如任何調用的方法
2、高級調試
1. 跨斷點調試
若是咱們設置了多個斷點,如今咱們須要直接跳轉到下一個斷點,那麼直接點擊下圖就能夠了
2.觀察變量
若是咱們想觀察1個或者幾個變量的值的變化,若是咱們在Variables顯示面版中觀察若是我這裏有太多太多的自定義變量和系統變量了,那麼就難觀察了,咱們能夠作以下操做:
點擊Watches,點擊+號,而後輸入變量的名稱回車就OK了,並且會有歷史記錄哦若是變量名比較長咱們能夠這樣:
選擇[Variables]中的變量名而後點擊[右鍵],選擇[Add to Watches],而後Watches面板中就有了3.設置變量的值
在程序中有不少的條件語句和循環語句,調試也是比較耗時的,咱們能夠經過快速設置變量的值來加快調試速度,咱們能夠作以下操做:
選擇[Variables]中的變量名而後點擊[右鍵],選擇[Set Value..]或者選擇以後直接F2(如上圖)(下圖爲Variables面板)4.查看斷點
點擊以後咱們能夠看到全部的斷點,以及位置代碼,也能夠設置一些屬性
5.中止調試
要注意的是這裏的[中止調試]不是讓程序中止,而是跳過全部調試
到這裏咱們的Android Studio的斷點調試和高級調試就完畢了。
有興趣的童鞋能夠關注個人Blog,個人專欄會持續更新Android Studio 教程,以及2015 I/O大會上的NDK的配置和編譯,我也所有會分享給你們。
而且我收到了CSND 的講師邀請,後期我會把這些Android Studio的使用教程錄製成視頻發佈在CSDN學院。
12345678910111213<code
class
=
"language-java hljs "
>
/**
* --------------
* 歡迎轉載 | 轉載請註明
* --------------
* 若是對你有幫助,請點擊|頂|
* --------------
* 請保持謙遜 | 你會走的更遠
* --------------
* @author zsl
* @github https://github.com/yy1300326388
*/
</code>