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,就是下图所示这个按钮。

好了,今天的分享就到这里,如果你觉得这个分享对你有用的话,一定记得实操练习一下!最后,记得帮忙三连支持一下,持续为大家分享更多开发小知识!

如果您学习过程中如遇困难?可以加入我们超高质量的技术交流群,参与交流与讨论,更好的学习与进步!另外,不要走开,这是我在持续更新的玩转IDEA专栏,电子书形式的沉浸式阅读体验,赶紧加入收藏夹吧!