Skip to content
程序猿DD程序猿DD
主页
最新发布
Java新特性
玩转IDEA
旧版博客open in new window
社区交流open in new window
  • 基础配置

    • 新建项目的默认配置
      • 侧边栏显示文件更新时间
        • 护眼配置方案
        • 性能优化

          • 换M1芯片后的使用建议
            • 定制IDEA的内存设置
              • 内存和启动参数设置
              • 调试技巧

                • 条件断点
                  • 优雅地抛异常
                    • 操作回退:Reset Frame
                      • 使用Reset Frame回退操作
                        • 什么情况不能回退
                          • 什么情况可以回退
                          • 找不到Reset Frame?找找Drop Frame
                          • 操作回退:Jump To Line
                            • 优雅调试stream操作
                            • 重构技巧

                              • 编辑器

                                • Markdown编辑器
                                • 插件宝库

                                  • Jump To Line:跳转任意行
                                    • Java Stream调试插件
                                      • 代码缩略图:CodeGlance Pro
                                        • API调试:Restful Fast Request
                                          • 文件树增强:Show Comment

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

                                          程序猿DD原创2022年4月16日
                                          • IntelliJ IDEA
                                          大约 2 分钟

                                          此页内容
                                          • 使用Reset Frame回退操作
                                            • 什么情况不能回退
                                            • 什么情况可以回退
                                          • 找不到Reset Frame?找找Drop Frame

                                          # 玩转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。

                                          上次编辑于: 2022/5/21 02:29:53
                                          贡献者: dd
                                          上一页
                                          优雅地抛异常
                                          下一页
                                          操作回退:Jump To Line
                                          © 2016 - 2022 didispace.com 版权所有
                                          沪ICP备14037150号-3
                                          Copyright © 2022 程序猿DD