大家在Debug程式的時候,是否遇到過因為“下一步”按太快,而導致跳過了想要深入分析的那段代碼?是不是很想要有“回到上一步”這樣的操作呢? 在IDEA中就提供了一個幫助你回退代碼的機會,但這個方法並不是萬能的。好了,下麵就來具體說說這個功能的使用! 使用Reset Frame回退操作 不知道你在De ...
大家在Debug程式的時候,是否遇到過因為“下一步”按太快,而導致跳過了想要深入分析的那段代碼?是不是很想要有“回到上一步”這樣的操作呢?
在IDEA中就提供了一個幫助你回退代碼的機會,但這個方法並不是萬能的。好了,下麵就來具體說說這個功能的使用!
使用Reset Frame回退操作
不知道你在Debug的時候,是否有註意過下圖標出的按鈕Reset Frame
,這就是今天要介紹的主角。
什麼情況不能回退
比如:下麵這樣的順序結構,是無法會退的:
void test() {
int a = 1;
int b = 2;
int c = a + b;
System.out.println(c);
}
什麼情況可以回退
再來看看下麵這種情況:
void test2() {
int a = 1;
int b = 2;
int c = add(a, b);
System.out.println(c);
}
int add(int a, int b) {
System.out.println("a = " + a);
System.out.println("b = " + b);
return a + b;
}
這裡有兩個函數,test2
函數會調用add
函數。當程式執行到int c = add(a, b)
這句的話,會進入到add
函數。此時,add
函數中執行的內容就可以通過Reset Frame
來回退回上一層函數進入的那句語句。
如果文字你看著理解困難,這裡DD錄了個視頻,可以看看具體操作幫助理解,當然自己實操一把會更有感覺哦!
找不到Reset Frame?找找Drop Frame
這裡順帶提一句,可能有小伙伴會問:怎麼我Debug的時候找不到Reset Frame
呢?
其實這個跟版本有關,Reset Frame
是IDEA 2022.1版本之後才有的。但不要擔心,該版本之前也有這個功能,只是名字不叫這個,而是叫Drop Frame
,就是下圖所示這個按鈕。
好了,今天的分享就到這裡,如果你覺得這個分享對你有用的話,一定記得實操練習一下!最後,記得幫忙三連支持一下,關註我,持續為大家分享更多開發小知識!
歡迎關註我的公眾號:程式猿DD。第一時間瞭解前沿行業消息、分享深度技術乾貨、獲取優質學習資源