跳至主要內容

玩转IntelliJ IDEA:调试的操作回退

程序猿DD原创IntelliJ IDEAIntelliJ IDEA大约 2 分钟

玩转IntelliJ IDEA:调试的操作回退

大家在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录了个视频open in new window,可以看看具体操作帮助理解,当然自己实操一把会更有感觉哦!

找不到Reset Frame?找找Drop Frame

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

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

好了,今天的分享就到这里,如果这个小技巧对你有用,那就帮忙点赞、在看、分享、关注,四连支持一下吧!如果你觉得这个系列还不错,可以关注我在连载的这个专栏:玩转IDEA

上次编辑于:
贡献者: dd,程序猿DD