查看原文
其他

IDEA Debug过程中如何回退操作?

SpringForAll 2022-07-05

The following article is from 程序猿DD Author DD

大家在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录了个视频,可以看看具体操作帮助理解,当然自己实操一把会更有感觉哦!(点赞、星标、关注,三连支持下DD)

找不到Drop Frame?

这里顺带提一句,可能有小伙伴会问:怎么我Debug的时候找不到Reset Frame呢?

其实这个跟版本有关,Reset Frame是IDEA 2022.1版本之后才有的。但不要担心,该版本之前也有这个功能,只是名字不叫这个,而是叫Drop Frame,就是下图所示这个按钮。

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


END



Spring Boot自动装配原理,这一篇就够了!Java 实现线程安全的三种方式
14 个 Spring MVC 顶级技巧,一直用一直爽!
IDEA 2022.2.1 Beta 2发布:新增支持Java 18、增强JUnit 5的支持

关注后端面试那些事,回复【2022面经】

获取最新大厂Java面经

最后重要提示:高质量的技术交流群,限时免费开放,今年抱团最重要。想进群的,关注SpringForAll社区,回复关键词:加群,拉你进群。

点击“阅读原文”领取2022大厂面经
↓↓↓ 

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存