杭州人才网:这几个IDEA高级调试技巧,用完就是香

admin 3个月前 (08-09) 科技 53 1

一个项目启动两次

测试分布式项目时,经常要一个项目启动2次,不用将一个项目打开多次启动,配置一下即可

1.点击Edit Configurations

2.勾选Allow parallel run

3.依次点击如下2个按钮
杭州人才网:这几个IDEA高级调试技巧,用完就是香 第1张

条件断点

有如下代码,只想让它在i == 10的情况下停下来

@Test
public void condition() {
    for (int i = 0; i < 30; i++) {
        System.out.println(i);
    }
}

1.鼠标左键在行数上加上断点
2.在断点上右键加上条件
3.点击Done按钮
杭州人才网:这几个IDEA高级调试技巧,用完就是香 第2张
此时断点上会有问号,表示这是一个条件断点,右键点击即可查看条件
杭州人才网:这几个IDEA高级调试技巧,用完就是香 第3张

多线程调试

当有多个线程时,我们如何控制线程的执行顺序呢?

@Test
public void thread() {

    new Thread(() -> {
        System.out.println("我是线程1-1");
        System.out.println("我是线程1-2");
        System.out.println("我是线程1-3");
    }, "线程1").start();

    new Thread(() -> {
        System.out.println("我是线程2-1");
        System.out.println("我是线程2-2");
        System.out.println("我是线程2-3");
    }, "线程2").start();

    System.out.println("主线程");

}

例如让线程1和2依次执行如下代码

System.out.println("我是线程1-1");
System.out.println("我是线程2-1");
System.out.println("我是线程1-2");
System.out.println("我是线程2-2");

普通模式debug模式下是做不到的,因为我们没办法控制线程的执行顺序。需要做如下设置

1.右键点击断点,选中Thread(Make Default表示把当前选中的Thread设置为默认值)
杭州人才网:这几个IDEA高级调试技巧,用完就是香 第4张
设置后的断点如下,3个断点都是Thread模式
杭州人才网:这几个IDEA高级调试技巧,用完就是香 第5张
执行到某个语句想切换线程的时候选中下一步要执行的线程即可
杭州人才网:这几个IDEA高级调试技巧,用完就是香 第6张

临时执行表达式/修改变量值

代码如下

public class User {

    private String username;
    private Integer age;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

@Test
public void changeValue() {
    User user = new User();
    user.setUsername("aa");
    System.out.println(user.getUsername() + " " + user.getAge());
}

在输出语句上加上断点
杭州人才网:这几个IDEA高级调试技巧,用完就是香 第7张
在断点处执行了

user.setAge(10);

最后的输出结果为

aa 10

我们也可以直接右键选中Set Value修改username属性等
杭州人才网:这几个IDEA高级调试技巧,用完就是香 第8张

回退

杭州人才网:这几个IDEA高级调试技巧,用完就是香 第9张
当断点执行到method2()时,想回退到method1时,点击如下按钮即可
杭州人才网:这几个IDEA高级调试技巧,用完就是香 第10张
需要注意的是,断点回退只能重新走一下流程,某些改变了的数据是无法回退到之前的状态,如对象、集合等等

欢迎关注

关注回复 pdf目录 有惊喜,海量视频资源访问 www.erlie.cc
杭州人才网:这几个IDEA高级调试技巧,用完就是香 第11张

参考博客

[1]https://www.cnblogs.com/jun1019/p/9741224.html
[2]https://www.cnblogs.com/chiangchou/p/idea-debug.html

,

Sunbet 申博

Sunbet 申博www.0379st.com信誉来自于每一位客户的口碑,Sunbet贴心的服务,让你尊享贵宾通道,秒速提现,秒速到账,同行业中体验最佳。

皇冠体育声明:该文看法仅代表作者自己,与本平台无关。转载请注明:杭州人才网:这几个IDEA高级调试技巧,用完就是香

网友评论

  • (*)

最新评论

  • AllbetGaming代理 2020-08-09 00:07:45 回复

    Allbet欢迎进入欧博平台(Allbet Gaming),欧博平台开放欧博(Allbet)开户、欧博(Allbet)代理开户、欧博(Allbet)电脑客户端、欧博(Allbet)APP下载等业务。比一般的好

    1

文章归档

站点信息

  • 文章总数:532
  • 页面总数:0
  • 分类总数:8
  • 标签总数:936
  • 评论总数:160
  • 浏览总数:2876