IDEA Debug過程中如何回退操作?
大家在Debug程序的時候,是否遇到過因為“下一步”按太快,而導(dǎo)致跳過了想要深入分析的那段代碼?是不是很想要有“回到上一步”這樣的操作呢?
在IDEA中就提供了一個幫助你回退代碼的機會,但這個方法并不是萬能的。好了,下面就來具體說說這個功能的使用!
使用Reset Frame回退操作
不知道你在Debug的時候,是否有注意過下圖標出的按鈕Reset Frame,這就是今天要介紹的主角。

什么情況不能回退
比如:下面這樣的順序結(jié)構(gòu),是無法會退的:
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;
}
這里有兩個函數(shù),test2函數(shù)會調(diào)用add函數(shù)。當(dāng)程序執(zhí)行到int c = add(a, b)這句的話,會進入到add函數(shù)。此時,add函數(shù)中執(zhí)行的內(nèi)容就可以通過Reset Frame來回退回上一層函數(shù)進入的那句語句。
如果問題你看著理解困難,這里DD錄了個視頻,可以看看具體操作幫助理解,當(dāng)然自己實操一把會更有感覺哦!(點贊、星標、關(guān)注,三連支持下DD)
找不到Drop Frame?
這里順帶提一句,可能有小伙伴會問:怎么我Debug的時候找不到Reset Frame呢?
其實這個跟版本有關(guān),Reset Frame是IDEA 2022.1版本之后才有的。但不要擔(dān)心,該版本之前也有這個功能,只是名字不叫這個,而是叫Drop Frame,就是下圖所示這個按鈕。

好了,今天的分享就到這里,如果你覺得這個分享對你有用的話,一定記得實操練習(xí)一下!最后,記得幫忙三連支持一下,持續(xù)為大家分享更多開發(fā)小知識!
推薦閱讀
你好,我是程序猿DD,10年開發(fā)老司機、阿里云MVP、騰訊云TVP、出過書、創(chuàng)過業(yè)、國企4年互聯(lián)網(wǎng)6年。10年前畢業(yè)加入宇宙行,工資不高、也不算太忙,業(yè)余堅持研究技術(shù)和做自己想做的東西。4年后離開國企,加入永輝互聯(lián)網(wǎng)板塊的創(chuàng)業(yè)團隊,從開發(fā)、到架構(gòu)、到合伙人。一路過來,給我最深的感受就是一定要不斷學(xué)習(xí)并關(guān)注前沿。只要你能堅持下來,多思考、少抱怨、勤動手,就很容易實現(xiàn)彎道超車!所以,不要問我現(xiàn)在干什么是否來得及。如果你看好一個事情,一定是堅持了才能看到希望,而不是看到希望才去堅持。相信我,只要堅持下來,你一定比現(xiàn)在更好!如果你還沒什么方向,可以先關(guān)注我,這里會經(jīng)常分享一些前沿資訊,幫你積累彎道超車的資本。
