idea的斷點調試


import java.util.ArrayList;
import java.util.List;

public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("張三");
list.add("李四");
list.add("王五");
String result = getResult(list);

System.out.println(result);
}

public static String getResult (List<String> list){
if (list == null|| list.size() == 0){
return null;
}

StringBuilder sb = new StringBuilder();
for(String s : list){
sb.append(s).append(" ");
}
String result = sb.toString();

return result.substring(0,result.length()-1);
}


}
先編寫一個這樣的程序。 

快捷鍵
Alt+F8是添加斷點 Ctrl + D 是快速復制一行



小蟲子---即是Debug

點下小蟲子就可以單步運行。

每次按F8,從斷點一行一行地執行程序,直到運行結束。

resume

直接從當前斷點跳到下一斷點。

查看所有斷點

  

 

 

 禁止所有斷點:

在調試的過程中,不知道哪個斷點有問題。某行代碼有bug,想跳過所有的斷點,

 



點擊之后斷點從紅色變成灰白色,按F9之后所有的斷點都跳過去,不會停下


條件斷點

假設在這打斷點,需要字符串s滿足內容為張三才進行斷點

Ctrl + Shift + F8  

就會出來一個條件窗口

 

輸入java表達式

字符串s滿足內容為張三才進行斷點

 

設置了之后,滿足條件會停留,

 list.add("張三"); 停留一次,其他都沒有停留。若把條件斷點去掉,則都會停留。

 

 

表達式求值:

在調試斷點的過程中,在斷點處要查看某一個值計算之后是什么結果

啟動debug后,選中list。然后 Alt + F8

再按回車

就能看到當前list里的值

 

 運行到指定行:

 

Alt + F9  從斷點運行到指定行。

 

 

setValue:設置值

String result = getResult(list);
按F2 將list填上null

 

來測試
if (list == null|| list.size() == 0){
return null;
}
這段函數的輸出是否一致
斷點回退
回退到上一個方法調用的開始處,在IDEA里測試無法一行一行地回退或回到到上一個斷點處,而是回到上一個方法
回退的方式有兩種,一種是Drop Frame按鈕

 第二種方式,在調用棧方法上選擇要回退的方法,右鍵選擇Drop Frame

 

,回退到該方法的上一個方法調用處,此時再按F9(Resume Program),可以看到程序進入到該方法的斷點處了。

 但有一點需要注意,斷點回退只能重新走一下流程,之前的某些參數/數據的狀態已經改變了的是無法回退到之前的狀態的,如對象、集合、更新了數據庫數據等等。




歡迎大家關注我的微信公眾號,獲取你不知道的寶藏。

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM