idea如何检查代码规范(这几个IDEA高级调试技巧)

一个项目启动两次

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

1.点击Edit Configurations

idea如何检查代码规范(这几个IDEA高级调试技巧)(1)

2.勾选Allow parallel run

idea如何检查代码规范(这几个IDEA高级调试技巧)(2)

3.依次点击如下2个按钮

idea如何检查代码规范(这几个IDEA高级调试技巧)(3)

条件断点

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

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

1.鼠标左键在行数上加上断点

2.在断点上右键加上条件

3.点击Done按钮

idea如何检查代码规范(这几个IDEA高级调试技巧)(4)

此时断点上会有问号,表示这是一个条件断点,右键点击即可查看条件

多线程调试

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

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

例如让线程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如何检查代码规范(这几个IDEA高级调试技巧)(5)

设置后的断点如下,3个断点都是Thread模式

idea如何检查代码规范(这几个IDEA高级调试技巧)(6)

执行到某个语句想切换线程的时候选中下一步要执行的线程即可

idea如何检查代码规范(这几个IDEA高级调试技巧)(7)

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

代码如下

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如何检查代码规范(这几个IDEA高级调试技巧)(8)

在断点处执行了

user.setAge(10);

最后的输出结果为

aa 10

我们也可以直接右键选中Set Value修改username属性等

idea如何检查代码规范(这几个IDEA高级调试技巧)(9)

回退

idea如何检查代码规范(这几个IDEA高级调试技巧)(10)

当断点执行到method2()时,想回退到method1时,点击如下按钮即可

idea如何检查代码规范(这几个IDEA高级调试技巧)(11)

需要注意的是,断点回退只能重新走一下流程,某些改变了的数据是无法回退到之前的状态,如对象、集合等等

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页