一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Android - Android Studio中debug功能詳解

Android Studio中debug功能詳解

2022-02-20 15:13哆啦U夢 Android

這篇文章主要為大家詳細介紹了Android Studio中debug功能的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文為大家分享了Android Studio debug功能的具體使用方法,供大家參考,具體內容如下

運行debug模式

Android Studio中debug功能詳解

1. 進入debug

- 點擊圖中紅色圓圈圈起的左邊綠色按鈕,運行app的debug模式,快捷鍵Shift+F9

- 點擊圖中紅色圓圈圈起的右邊按鈕,可以選擇正在運行的進程attach debugger

1. 打斷點:鼠標點擊編輯框左側,出現紅色圓點

斷點分類

Android Studio中debug功能詳解

這張圖可以看出斷點也有行斷點、方法斷點、字段斷點、異常斷點。其實打斷點仔細觀察也可以發現它們的標識圖片是不同的,就是上圖中每行前面的那四種不同的小紅點。

行斷點: 當執行到此行是停止執行,等待調試。

屬性斷點:打在類的成員變量上,當變量初始化或變量的值改變時觸發斷點。當然也可以配合其他用法設置過濾。

Android Studio中debug功能詳解

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

Android Studio中debug功能詳解

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

Android Studio中debug功能詳解

基本操作

Android Studio中debug功能詳解

從左到右依次

  1. 跳到當前執行的斷點處
  2. Step Over 單步執行
  3. Step Into 進入正在執行的方法(必須是自定義的方法)、
  4. Focus Step Into 可以進入源碼
  5. Step Out 跳出正在執行的方法
  6. Drop Frame 返回到當前方法的調用處
  7. Run to Cursor 運行到光標處
  8. Evaluate expression 計算選中的變量的值

Android Studio中debug功能詳解

從上到下依次為:

  1. 切換debugger模式
  2. 運行至下一斷點,(從暫停)恢復程序
  3. 暫停程序
  4. 關閉調試
  5. 查看斷點
  6. 隱藏斷點
  7. 查看線程堆棧

高級操作和斷點過濾

點擊上一張圖中的5查看斷點可以打開下面的面板,這張面板提供了關于debug的許多高級功能:

Android Studio中debug功能詳解

條件過濾

Android Studio中debug功能詳解

右擊斷點,可以設置condition。如圖所示,設置一個變量mJoinVaule.equals(“222”),點擊Done。當在mJoinEt這個EditText中輸入222時才會觸發這個斷點。

在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;
  }
}

日志斷點

Android Studio中debug功能詳解

斷點打在上方代碼第27行,選中代碼,同時設置Condition和Log evaluation expression,這樣只有person.age==8時斷點生效,才會在log打印表達式。當然,也可以值設置Log表達式。控制器輸出如下圖,可以看到只有age==8時才打印了toString().

Android Studio中debug功能詳解

實例過濾

Android Studio中debug功能詳解 打好斷點,并設置觸發斷點的實例

Android Studio中debug功能詳解

繼續執行程序,當設置的實例調用方法時斷點生效。

Android Studio中debug功能詳解

類過濾

Android Studio中debug功能詳解

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

Android Studio中debug功能詳解

執行次數斷點

Android Studio中debug功能詳解 Android Studio中debug功能詳解

Pass Count和Condition具有相似之處,但Condition用途應該更廣泛一些。

設置變量值

Android Studio中debug功能詳解

調試過程中,選中一個變量右鍵可以可以進行Set Value操作,這項強大的功能對需要不同數據進行判斷的情況提供了極大地便利。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/u013952370/article/details/52131007

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 被老外操| 91精品国产高清久久久久久 | 亚洲AVAV天堂AV在线网爱情 | 欧美vpswindows动物 | 免费国产网站 | 国产黄频在线观看 | 久久精品无码一区二区日韩av | 91人人| 美女狂揉尿口揉到失禁 | 成人黄色a级片 | 久久一er精这里有精品 | 欧美特黄特色aaa大片免费看 | 四虎影视黄色 | 天天av天天翘天天综合网 | 免费国产在线视频 | 亚洲视频高清 | 久久国产乱子伦精品免费不卡 | 久久精品国产在热亚洲完整版 | 色综合国产 | 亚洲成人福利网站 | 美女脱了内裤张开腿亲吻男生 | 柔术一级毛片 | 国产日韩精品一区二区在线观看播放 | 我的家教老师 | 亚洲国产精品嫩草影院久久 | 饭冈加奈子在线播放观看 | 日本人成动漫网站在线观看 | 日韩二三区 | 波多野结衣在线看 | 国产午夜免费秋霞影院 | 被老外操| 色哟哟哟 | 欧美四虎影院 | 高h辣h双处全是肉军婚 | 亚洲AV午夜福利精品香蕉麻豆 | ai换脸杨颖被啪在线观看 | 第一次不是你高清在线观看 | 亚洲成片在线看 | 国产尤物精品视频 | 亚洲 激情| 久久久精品免费免费直播 |