1

大家在Debug程序的时候,是否遇到过因为“下一步”按太快,而导致跳过了想要深入分析的那段代码?是不是很想要有“回到上一步”这样的操作呢?

在IDEA中就提供了一个帮助你回退代码的机会,但这个方法并不是万能的。好了,下面就来具体说说这个功能的使用!

使用Reset Frame回退操作

不知道你在Debug的时候,是否有注意过下图标出的按钮Reset Frame,这就是今天要介绍的主角。

file

什么情况不能回退

比如:下面这样的顺序结构,是无法会退的:

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

file

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

欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源

程序猿DD
2.2k 声望2.8k 粉丝

作品:《Spring Cloud微服务实战》、SpringForAll社区、OpenWrite、Youtube中文配音