【工具使用】IDEA 中 使用 Debug

單線程 Debug




01_Debug


  • 什麼是Debugjava

    • Debug 程序調試
    • 開發:調試 = 1 : 1.5
  • Debug能幫咱們作什麼多線程

    • 追蹤代碼運行流程
    • 異常的定位與調試
    • 線上問題追蹤
  • Debug的意義ide

    • 熟悉執行流程
    • 方便理解複雜程序邏輯
    • 定位問題 提升解決問題的能力



02_Idea中的Debug


  • 設置斷點(F9)
  • 程序調試(按鈕x8)
按鈕 快捷方式 說明
Alt+F10 若是光標在其餘行或者其餘頁面,點擊按鈕調到當前代碼執行的行。
F8 步過,一步一步往下走,若是這一行上有方法不會進入方法。
F7 步入,若是當前行有方法,能夠進入方法內部,通常用於進入自定義方法內,不會進入官方庫方法。
Alt + Shift + F7 強制步入,能進入任何方法,查看底層源碼的時候能夠用此方法進入官方類庫。
Shift + F8 不出,從步入的方法內退回到方法調用處,此時方法已經執行完畢,只是尚未完成賦值。
回退斷點。
Alt + F9 運行到光標處,能夠將光標定位到須要查看的一行,而後使用這一功能,代碼會運行至光標行,而不須要打斷點。
Alt + F8 計算表達式。
  • 03_Debug 的使用
    • 設置斷點
    • 進入Debug



代碼實例


    • 步過 跳過本行中的方法單行執行
    • 步入 進入本行中的方法,但不進入官方庫方法
    • 強制步入 進入方法,包括官方類庫
    • 步出 在步入一個方法後,不執行結束則不會退出該方法,使用步出則能夠直接結束該方法,調到該方法的調用處
public void a(){
       >System.out.println("---程序執行開始");
       >int c = add(1,2);
        System.out.println("---程序執行結束");
    }

	public int add(int a,int b){
        return a+b;
    }

步過:在 2 號斷點,步過 不會進入add方法而直接得到 add方法的返回值;idea

步入:在 2 號斷點,步入 會進入 add 方法,並一步一步執行,可是在 1 號斷點,步入 不會進入 print 方法線程

強制步入:在 1 號斷點,強制步入會進入 print 方法;debug

步出:在 進入 add 方法後,若是不想看後面的代碼,可使用步出,直接回到 a 方法;調試


  • 回退 & 運行到光標
    • 回退:當 步入一個方法體以後,使用回退能夠回到該方法的調用處,進而能夠從新執行步入等調試(而不用重啓Debug);
    • 運行到光標:不用頻繁設置斷點,光標指到哪裏,就運行到哪裏;

  • 計算表達式
  • 查看變量的幾種方式
    • 一、 Debug 的 Variables
    • 二、 光標放在方法的 形參上面,而後點擊 +號
    • 三、 使用計算表達式功能,輸入user,就能夠顯示用戶變量,而且能夠修改用戶變量值
    • 修改方法:直接輸入user.setUserTyp=("員工");點擊回車

public static void main(String[] args){
    User user = new User("張三","123456","超級管理員");
    login(user);
}

public static void login(User user){
    switch(user.userType){
        case "超級管理員":
            sout("是超級管理員");
    }
}

//User 類
@Data
public class User(){
    String username;
    String password;
    String userType;
}

  • 條件斷點
  • 使用條件:循環300次的斷點,須要連點 300 次 步過;
  • 使用方式:在斷點處 右擊,在Condititon中輸入 i == 300;



多線程 Debug

相關文章
相關標籤/搜索