AndroidStudio 斷點(diǎn)調(diào)試技巧

設(shè)置斷點(diǎn)(點(diǎn)擊紅點(diǎn)位置添加或取消斷點(diǎn))

點(diǎn)擊debug模式運(yùn)行(AndroidStudio 2.2.2)


查看調(diào)試面板

一、簡(jiǎn)單調(diào)試

1. step over:一步步往下走

當(dāng)前程序運(yùn)行的位置,我們看到i的值已經(jīng)在程序代碼中展示出來(lái)了,黃色的代碼處,這個(gè)是AS的功能,對(duì)于我們調(diào)試來(lái)講,這簡(jiǎn)直是非常大的福利了。

點(diǎn)擊單步調(diào)試按鈕或按快捷鍵F8,看看效果。這里我們看到selector變量的值已經(jīng)出來(lái)了selector:0,我們?cè)诳纯袋S色位置i的當(dāng)前值是0。

這時(shí)我們繼續(xù)F8,我們切換到logcat查看日志,我打印出的i的值是0,

我們?cè)谇谢氐繢ebugger面板,可以看到Variables顯示面板中,有i的值是0,selector的值是0。以及我們可以看到Frames控制面板中可以顯示出當(dāng)前程序的位置在:onCreate():28,第28行。

2. step into:看到方法往里走

比如我們的for循環(huán)當(dāng)中調(diào)用了一個(gè)stepNext(int i)方法,當(dāng)我們走到這里想看看這個(gè)方法里面的運(yùn)行過(guò)程的時(shí)候我們可以這樣,當(dāng)走到這個(gè)方法的時(shí)候我們可以按下F7,或者如下圖的圖標(biāo)。

這時(shí)就走到了stepNext方法當(dāng)中。

在這里打印了一個(gè)log,我們?cè)侔匆幌翭8我們來(lái)看看Logcat, 這里我打印的log都是為了做教程用,調(diào)試我們就不用打log了直接看顯示面板就OK了

3. force step into :所有方法看完整

這個(gè)是可以看到你所調(diào)用的所有方法的實(shí)現(xiàn)會(huì)讓你跟著它走一遍,研究源碼使用非常方便

4. step out :有斷點(diǎn)下一個(gè),走完斷點(diǎn)繼續(xù)走

這里如果我們的一個(gè)流程當(dāng)中,包括調(diào)用的方法,如果有斷點(diǎn)走到下一個(gè)斷點(diǎn),如果沒(méi)有斷點(diǎn),而是在一個(gè)調(diào)用的方法當(dāng)中,會(huì)跳出這個(gè)方法,繼續(xù)走。

這里理解比較難,舉個(gè)例子:

(上圖)我現(xiàn)在程序位置在第一個(gè)斷點(diǎn)位置(24行),我調(diào)用的stepNext方法中也有一個(gè)斷點(diǎn),此時(shí)我按下step out按鈕會(huì)走到stepNext中的斷點(diǎn)處(39行)我此時(shí)如果再按一下step out 會(huì)走到stepNext方法的調(diào)用出的下一個(gè)可執(zhí)行代碼(30行)

(上圖)如果我現(xiàn)在程序位置在stepNext的方法中,如果我此時(shí)按下step out,會(huì)走到stepNext方法的調(diào)用出的下一個(gè)可執(zhí)行代碼(30行)

5. run to Cursor :下個(gè)斷點(diǎn)我們見(jiàn)

這里的意思就是說(shuō),會(huì)很快執(zhí)行到下一個(gè)斷點(diǎn)的位置,而且可以靜如任何調(diào)用的方法

二、高級(jí)調(diào)試

1. 跨斷點(diǎn)調(diào)試

如果我們?cè)O(shè)置了多個(gè)斷點(diǎn),現(xiàn)在我們需要直接跳轉(zhuǎn)到下一個(gè)斷點(diǎn),那么直接點(diǎn)擊下圖就可以了

2.觀察變量

如果我們想觀察1個(gè)或者幾個(gè)變量的值的變化,如果我們?cè)赩ariables顯示面版中觀察如果我這里有太多太多的自定義變量和系統(tǒng)變量了,那么就難觀察了,我們可以做如下操作:

點(diǎn)擊Watches,點(diǎn)擊+號(hào),然后輸入變量的名稱回車就OK了,而且會(huì)有歷史記錄哦

如果變量名比較長(zhǎng)我們可以這樣:

選擇[Variables]中的變量名然后點(diǎn)擊[右鍵],選擇[Add to Watches],然后Watches面板中就有了

3.設(shè)置變量的值

在程序中有很多的條件語(yǔ)句和循環(huán)語(yǔ)句,調(diào)試也是比較耗時(shí)的,我們可以通過(guò)快速設(shè)置變量的值來(lái)加快調(diào)試速度,我們可以做如下操作:

選擇[Variables]中的變量名然后點(diǎn)擊[右鍵],選擇[Set Value..]或者選擇之后直接F2(如上圖)(下圖為Variables面板)

4.查看斷點(diǎn)

點(diǎn)擊之后我們可以看到所有的斷點(diǎn),以及位置代碼,也可以設(shè)置一些屬性

5.停止調(diào)試

要注意的是這里的[停止調(diào)試]不是讓程序停止,而是跳過(guò)所有調(diào)試

到這里我們的Android Studio的斷點(diǎn)調(diào)試和高級(jí)調(diào)試就完畢了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,835評(píng)論 6 534
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,676評(píng)論 3 419
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,730評(píng)論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,118評(píng)論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,873評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,266評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,330評(píng)論 3 443
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,482評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,036評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,846評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,025評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,575評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,279評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,684評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,953評(píng)論 1 289
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,751評(píng)論 3 394
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,016評(píng)論 2 375

推薦閱讀更多精彩內(nèi)容

  • Android Studio目前已經(jīng)成為開(kāi)發(fā)Android的主要工具,用熟了可謂相當(dāng)順手。作為開(kāi)發(fā)者,調(diào)試并發(fā)現(xiàn)b...
    7d3fadbb4407閱讀 560評(píng)論 0 3
  • Android Studio目前已經(jīng)成為開(kāi)發(fā)Android的主要工具,用熟了可謂相當(dāng)順手。作為開(kāi)發(fā)者,調(diào)試并發(fā)現(xiàn)b...
    涅槃1992閱讀 50,792評(píng)論 36 366
  • Android Studio目前已經(jīng)成為開(kāi)發(fā)Android的主要工具,用熟了可謂相當(dāng)順手。作為開(kāi)發(fā)者,調(diào)試并發(fā)現(xiàn)b...
    StChris閱讀 1,801評(píng)論 0 16
  • 設(shè)置斷點(diǎn)(點(diǎn)擊紅點(diǎn)位置添加或取消斷點(diǎn)) 點(diǎn)擊debug模式運(yùn)行 查看調(diào)試面板 一、簡(jiǎn)單調(diào)試 step over:一...
    Jwennnnnnnnnn閱讀 1,185評(píng)論 0 7
  • 前言 今天花了一天的時(shí)間終于把iOS的幾種常見(jiàn)的調(diào)試方法給學(xué)習(xí)了一下,在這里給大家分享一下LLDB的使用,同時(shí)也是...
    Peak_One閱讀 11,058評(píng)論 5 33