• IDEA Debug过程中使用Drop Frame或Reset Frame实现操作回退


    大家在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。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源

  • 相关阅读:
    线程(上篇):线程的创建
    [LabVIEW]圖像內的物件計算_Count objects
    edge 浏览器截取全图保存成图片
    三、MyBatis(3)
    shell编程3-shell选择结构和循环语句
    MLX90640 开发 微型红外成像仪
    msvcp71.dll丢失的解决方法分享,全面分析msvcp71.dll丢失原因
    64. 如何在浏览器里执行 SAPGUI 的事务
    天翎BPM流程引擎助力打造流程服务中台
    C/C++布尔运算的短路
  • 原文地址:https://www.cnblogs.com/didispace/p/16148689.html