Android Studio中debug功能詳解
本文為大家分享了Android Studio debug功能的具體使用方法,供大家參考,具體內(nèi)容如下
運行debug模式
1. 進入debug
- 點擊圖中紅色圓圈圈起的左邊綠色按鈕,運行app的debug模式,快捷鍵Shift+F9
- 點擊圖中紅色圓圈圈起的右邊按鈕,可以選擇正在運行的進程attach debugger
1. 打斷點:鼠標點擊編輯框左側,出現(xiàn)紅色圓點
斷點分類
這張圖可以看出斷點也有行斷點、方法斷點、字段斷點、異常斷點。其實打斷點仔細觀察也可以發(fā)現(xiàn)它們的標識圖片是不同的,就是上圖中每行前面的那四種不同的小紅點。
行斷點: 當執(zhí)行到此行是停止執(zhí)行,等待調試。
屬性斷點:打在類的成員變量上,當變量初始化或變量的值改變時觸發(fā)斷點。當然也可以配合其他用法設置過濾。

方法斷點:打在一個函數(shù)的首行,進行函數(shù)級別的調試,更可以打在JDK的源碼里,查看函數(shù)調用。普通的斷點是不能打在源碼里的。

異常斷點:當拋出指定異常時觸發(fā)斷點。AS可以在Breakpoints中點擊左上角 + 號,選擇Java Exception Breakpoints,來指定一個異常。

基本操作
從左到右依次
- 跳到當前執(zhí)行的斷點處
- Step Over 單步執(zhí)行
- Step Into 進入正在執(zhí)行的方法(必須是自定義的方法)、
- Focus Step Into 可以進入源碼
- Step Out 跳出正在執(zhí)行的方法
- Drop Frame 返回到當前方法的調用處
- Run to Cursor 運行到光標處
- Evaluate expression 計算選中的變量的值
從上到下依次為:
- 切換debugger模式
- 運行至下一斷點,(從暫停)恢復程序
- 暫停程序
- 關閉調試
- 查看斷點
- 隱藏斷點
- 查看線程堆棧
高級操作和斷點過濾
點擊上一張圖中的5查看斷點可以打開下面的面板,這張面板提供了關于debug的許多高級功能:

條件過濾
右擊斷點,可以設置condition。如圖所示,設置一個變量mJoinVaule.equals(“222”),點擊Done。當在mJoinEt這個EditText中輸入222時才會觸發(fā)這個斷點。
在BreakPoints面板同樣可以設置條件斷點。
測試代碼
下面是一段測試代碼,用來測試后面的功能
package com.jnxy.arithmetic.base;
/**
* Created by admin on 2016/8/5.
*/
public class Person {
int age;
public void out() {
System.out.println("age : " + age);
}
public Person(int age) {
this.age = age;
}
public static void main(String [] args) {
Person p1 = new Person(3);
Person p2 = new Person(5);
Person p3 = new Person(8);
Man man = new Man(10, 10);
Woman woman = new Woman(12, 12);
Person[] persons = new Person[]{p1, p2, p3, man, woman};
for (Person person : persons) {
person.out();
}
}
}
class Man extends Person {
int weight;
public Man(int age, int weight) {
super(age);
this.weight = weight;
}
}
class Woman extends Person{
int height;
public Woman(int age, int height) {
super(age);
this.height = height;
}
}
日志斷點
斷點打在上方代碼第27行,選中代碼,同時設置Condition和Log evaluation expression,這樣只有person.age==8時斷點生效,才會在log打印表達式。當然,也可以值設置Log表達式??刂破鬏敵鋈缦聢D,可以看到只有age==8時才打印了toString().

實例過濾
打好斷點,并設置觸發(fā)斷點的實例

繼續(xù)執(zhí)行程序,當設置的實例調用方法時斷點生效。

類過濾
首先設置Class Filter,內(nèi)容為要過濾類的完整路徑,設置為只有Man類調用方法斷點生效,下圖age==10,證明確實是Man類調用的方法。

執(zhí)行次數(shù)斷點

Pass Count和Condition具有相似之處,但Condition用途應該更廣泛一些。
設置變量值
調試過程中,選中一個變量右鍵可以可以進行Set Value操作,這項強大的功能對需要不同數(shù)據(jù)進行判斷的情況提供了極大地便利。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- android studio實現(xiàn)簡單的計算器(無bug)
- Android Studio debug.keystore位置介紹
- Android Studio 3.5格式化布局代碼時錯位、錯亂bug的解決
- 解決android設備斷電重啟后WIFI不能自動重連的BUG(收藏)
- 關于ADB的Android Debug Bridge(安卓調試橋)那些事
- Android同時安裝Release和Debug版本的方法
- Android Studio 自定義Debug變量視圖的方法
- Android Studio之Debug運行期代碼植入的方法
- Android實現(xiàn)錄音方法(仿微信語音、麥克風錄音、發(fā)送語音、解決5.0以上BUG)
- 淺談Android Studio如何Debug對應so文件C/C++代碼
- Android Studio 報錯“app:processDebugResources"解決方法
- Android 判斷是開發(fā)debug模式,還是發(fā)布release模式的方法
- Android 開發(fā) 使用WebUploader解決安卓微信瀏覽器上傳圖片中遇到的bug
- Android 常見bug匯總及解決方案
相關文章
Android HTTP網(wǎng)絡請求的異步實現(xiàn)
這篇文章主要介紹了Android HTTP網(wǎng)絡請求的異步實現(xiàn),感興趣的小伙伴們可以參考一下2016-07-07
Android ListView實現(xiàn)仿iPhone實現(xiàn)左滑刪除按鈕的簡單實例
下面小編就為大家?guī)硪黄狝ndroid ListView實現(xiàn)仿iPhone實現(xiàn)左滑刪除按鈕的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
Android實現(xiàn)仿微信tab高亮icon粘著手的滑動效果
這篇文章主要為大家詳細介紹了Android實現(xiàn)仿微信tab高亮icon粘著手的滑動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08
android教程之textview解析帶圖片的html示例
本文介紹的示例適用于android中需要解析帶圖片的htlm數(shù)據(jù),需要的朋友可以參考下2014-02-02

