Android Studio完美調(diào)試

? 這幾天寫(xiě)了點(diǎn)基礎(chǔ)模塊鸟缕,一口氣寫(xiě)完,結(jié)果沒(méi)跑通(╯﹏╰)排抬,免不了調(diào)試一把懂从,調(diào)來(lái)調(diào)去有些心煩,就順帶把AS里的調(diào)試都看了一遍蹲蒲。調(diào)試作為一個(gè)開(kāi)發(fā)者最基礎(chǔ)的技能番甩,也是很重要的一個(gè)手段,正巧就講一講一些基礎(chǔ)的調(diào)試方法届搁,具體要是感興趣缘薛,可以去官網(wǎng)看看。

? 調(diào)試很簡(jiǎn)單咖祭,直接在代碼的最右邊掩宜,點(diǎn)擊一下就會(huì)出現(xiàn)一個(gè)紅點(diǎn)

? 然后點(diǎn)擊菜單欄上的debug按鈕(有兩個(gè),第一個(gè)是debug app么翰,使app重新啟動(dòng)牺汤,然后進(jìn)入debug,第二個(gè)是attach debugger浩嫌,可以直接連接到正在運(yùn)行的android process)

? 當(dāng)程序跑到相應(yīng)的斷點(diǎn)檐迟,就會(huì)停在斷點(diǎn)處补胚。什么step into,step over的我就不講了追迟,這里講一個(gè)Evaluate Expression溶其。

Evaluate Expression

? 在調(diào)試操作按鈕的邊上,一個(gè)像小計(jì)算機(jī)的圖標(biāo)(當(dāng)然也有快捷鍵敦间!ctrl+U)瓶逃。這個(gè)Evaluate Expression是個(gè)求值表達(dá)式,可以在斷點(diǎn)的時(shí)候廓块,啟動(dòng)一個(gè)“計(jì)算器”厢绝,可以任意編輯表達(dá)式進(jìn)行計(jì)算。使用這個(gè)的最方便之處在于带猴,當(dāng)斷點(diǎn)處無(wú)法提供一些你想要的信息的時(shí)候昔汉,可以自己編寫(xiě)表達(dá)式,去查看結(jié)果拴清。

分類

? 根據(jù)調(diào)試內(nèi)容的劃分靶病,可以分為“字段調(diào)試”、“方法調(diào)試”口予、“異常調(diào)試”娄周。

字段調(diào)試

字段調(diào)試

? 字段調(diào)試的紅點(diǎn)是有一杠的,在字段處斷點(diǎn)苹威,右鍵小紅點(diǎn)昆咽,還可以設(shè)置其斷點(diǎn)屬性驾凶。

? 當(dāng)右鍵點(diǎn)擊后牙甫,可以選擇是訪問(wèn)的時(shí)候斷,或者是修改的時(shí)候斷调违,我們注意到窟哺,上面還有一個(gè)Condition,這個(gè)是做什么的呢技肩。假設(shè)且轨,這個(gè)斷點(diǎn)是在一個(gè)循環(huán)當(dāng)中,且值一直在變化虚婿,你是不停地人工watch然后不停地人工next直到找到想要的value嗎旋奢?NONONO,這太累了然痊,Condition就是用來(lái)增加條件篩選符合的value的至朗,只有符合condition的語(yǔ)句,才會(huì)斷點(diǎn)剧浸,這可以大大提升你的debug效率锹引,是不是感覺(jué)輕松了很多矗钟。

方法調(diào)試

方法調(diào)試

? 方法調(diào)試的紅點(diǎn)是四個(gè)小點(diǎn),斷點(diǎn)后嫌变,可以斷到所有用到該方法的位置吨艇。這里介紹一下Debug面板

debug

? 最右邊是frames層,也就是整個(gè)breakpoint被斷的路徑腾啥,可以一層層的往上查看东涡,中間的Variables是可以看到當(dāng)前場(chǎng)景里的變量值,watches是觀察器倘待,可以選中某個(gè)變量软啼,右鍵Add to Watches,可以一直觀測(cè)該變量的變化延柠。

異常斷點(diǎn)

? 講異常斷點(diǎn)前祸挪,我們先來(lái)看一下view breakpoints

view breakpoints

? 菜單欄中找到run->View Breakpoints,會(huì)看到這么一個(gè)界面

? 在這個(gè)界面中贞间,我們可以看到贿条,在左側(cè)的幾行中,能看到不同的exception的斷點(diǎn)增热,只要選中整以,程序就會(huì)在發(fā)生異常的時(shí)候,被斷住峻仇。其實(shí)這個(gè)不是重點(diǎn)公黑,我們先來(lái)講個(gè)情景。當(dāng)我們?cè)谡{(diào)試的時(shí)候摄咆,會(huì)想著打log凡蚜,通過(guò)console看log的值來(lái)定位問(wèn)題,但是這個(gè)log你又不是一開(kāi)始就寫(xiě)了吭从,往往是斷點(diǎn)調(diào)著調(diào)著發(fā)現(xiàn)朝蜘,哎,我這里想看一下a這個(gè)值是多少涩金,然后坑次坑次地寫(xiě)上一句Log.i("a", a);關(guān)鍵是你還要編譯一遍谱醇,哇,這你要等多久啊步做,小項(xiàng)目還好副渴,大項(xiàng)目動(dòng)不動(dòng)就5-6分鐘,完了你還不一定會(huì)記得這里有個(gè)test的 log全度,忘了刪了煮剧。然后我就要請(qǐng)出我們的主角,evaluate and log。

? 我們把suspend這個(gè)勾給去掉轿秧,他是用來(lái)決定是否斷停的中跌,如果勾去掉,debug還在菇篡,但是不會(huì)在這個(gè)地方斷住漩符,然后勾住log message to console和evaluate and log,在編輯框里寫(xiě)上你要的Log語(yǔ)句驱还,就可以在logcat里看到相對(duì)應(yīng)的log了嗜暴,而且并沒(méi)有改動(dòng)源代碼,也不會(huì)生成多余的代碼议蟆,是不是感覺(jué)很方便闷沥。

總結(jié)

? 好了,調(diào)試的基本用法咐容,大致就以上幾種舆逃。相信學(xué)會(huì)這些方法后,一定可以提升我們平時(shí)Coding調(diào)試的效率戳粒,更快的解決問(wèn)題路狮。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蔚约,隨后出現(xiàn)的幾起案子奄妨,更是在濱河造成了極大的恐慌,老刑警劉巖苹祟,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砸抛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡树枫,警方通過(guò)查閱死者的電腦和手機(jī)直焙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)团赏,“玉大人箕般,你說(shuō)我怎么就攤上這事耐薯√蚯澹” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵曲初,是天一觀的道長(zhǎng)体谒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)臼婆,這世上最難降的妖魔是什么抒痒? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮颁褂,結(jié)果婚禮上故响,老公的妹妹穿的比我還像新娘傀广。我一直安慰自己,他們只是感情好彩届,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布伪冰。 她就那樣靜靜地躺著,像睡著了一般樟蠕。 火紅的嫁衣襯著肌膚如雪贮聂。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天寨辩,我揣著相機(jī)與錄音吓懈,去河邊找鬼。 笑死靡狞,一個(gè)胖子當(dāng)著我的面吹牛耻警,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播甸怕,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼榕栏,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了蕾各?” 一聲冷哼從身側(cè)響起扒磁,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎式曲,沒(méi)想到半個(gè)月后妨托,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吝羞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年兰伤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钧排。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡敦腔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出恨溜,到底是詐尸還是另有隱情符衔,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布糟袁,位于F島的核電站判族,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏项戴。R本人自食惡果不足惜形帮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辩撑,春花似錦界斜、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至水慨,卻和暖如春得糜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背晰洒。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工朝抖, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谍珊。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓治宣,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親砌滞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子侮邀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

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

  • Android Studio目前已經(jīng)成為開(kāi)發(fā)Android的主要工具,用熟了可謂相當(dāng)順手贝润。作為開(kāi)發(fā)者绊茧,調(diào)試并發(fā)現(xiàn)b...
    7d3fadbb4407閱讀 558評(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,734評(píng)論 36 365
  • Android Studio目前已經(jīng)成為開(kāi)發(fā)Android的主要工具,用熟了可謂相當(dāng)順手尊蚁。作為開(kāi)發(fā)者亡笑,調(diào)試并發(fā)現(xiàn)b...
    StChris閱讀 1,793評(píng)論 0 16
  • 對(duì)于開(kāi)發(fā)的同學(xué)來(lái)講,Debug并不陌生横朋,對(duì)于做Android開(kāi)發(fā)的同學(xué)也是一樣的仑乌。 可能有些同學(xué)會(huì)問(wèn),調(diào)試程序誰(shuí)不...
    點(diǎn)融黑幫閱讀 5,455評(píng)論 3 6
  • 什么是尋租琴锭? 為什么每個(gè)國(guó)家里面的人都很忙晰甚,但有些國(guó)家很富裕,有些國(guó)家很窮祠够? 薛老師的課程一個(gè)很明顯的特征就是蘇格...
    AmberShao閱讀 476評(píng)論 0 0