1. 程式人生 > 其它 >IDEA Debug過程中使用Drop Frame或Reset Frame實現操作回退

IDEA Debug過程中使用Drop Frame或Reset Frame實現操作回退

大家在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。第一時間瞭解前沿行業訊息、分享深度技術乾貨、獲取優質學習資源