IDEA调试技巧

IDEA调试,除了常用的F8,F7之外,还有这些调试技巧

1.条件断点

1.1使用场景

调试进入循环时,希望达到某个条件的时候停下来

1.2使用方法

右键单击红色断点,在条件输入框里填上 i=100
那么,当程序运行到断点处时,就会自动显示 i=100时的运行结果


image.png

2.回到上一步

2.1使用场景

调试时,返回上一步的结果

2.2使用方法

public class DebugTest {
    public static void main(String[] args) {
//        test1();
        test2();
    }

    /**
     * 方法A调方法B,B再调C
     */
    private static void test2() {
        System.out.println("进入test2");
        method1("test2方法调method1");
    }

    private static void method1(String str1) {
        System.out.println("进入method1");
        method2(str1,"method1调方法method2");
    }

    private static void method2(String str1, String str2) {
        System.out.println("进入method2");
        System.out.println(str1 + str2);
    }
}

本来,断点运行到method2()方法中

image.png

点击Drop Frame图标后,回退到上一个方法method1()中
image.png

注:JVM内部以栈帧为单位保存线程的运行状态,drop frame即扔掉当前运行的栈帧,这样当前“指针”的位置,就会回到上一帧的位置。

3.修改变量的值

3.1使用场景

在循环中,把索引变量赋值为想要的值,查看对应的运行结果

3.2使用方法

debug的时候,选中变量,右键点击“set value”,给变量赋值


image.png

4.临时执行表达式

4.1使用场景

通过执行某个表达式,可以查看链式函数的中间执行结果

4.2使用方法

如图,点击调试窗口中的Evaluate Expression 按钮(或者:Alt+F8)


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、条件断点 循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。 参考上图,在断点...
    梅西爱骑车阅读 294评论 0 1
  • 一、本文目的 日常开发工作中,大多数开发者只会简单地设置断点、启动调试、单步执行这三个操作,资深一点的可能还会表达...
    文景大大阅读 2,463评论 0 2
  • 一、条件断点 循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。 参考上图,在断点...
    程序员木子阅读 976评论 0 27
  • 一、条件断点 循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。 参考上图,在断点...
    一觉睡到丶小时候阅读 194评论 0 1
  • 一、条件断点 循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。 参考上图,在断点...
    楼兰King阅读 382评论 0 0