【Java】关于我Debug的一些技巧

文章目录

  • 条件断点
  • 断点回退
  • 表达式的执行
  • 直接返回

条件断点

IDEA中右击断点的时候可以看到如下的状态,在这里的Condition中我们可以选择进入当前断点的一个条件,比如我希望只有key=user2的时候才进入断点,那么我就可以按照如下的方式去编写条件。
这里的Condition表达式你可以直接理解为当你代码执行到这里时已经存在的一些属性,你可以直接通过这些属性去进行判断。
注意,使用这种方式可以帮助你快速的过滤掉之前那些你不需要的条件,也就是这里会直接从user2这个key开始进入端点。并且使用这个方式性能会比较差哦。
【Java】关于我Debug的一些技巧_第1张图片

断点回退

我们debug的时候可能出现一些跳过了我们想要看的代码行的情况,这个时候我们肯定是希望能回退到某一个断点处然后再次执行的,而不是在一次进行debug或者再发送一次请求。
IDEA中提供了断点回退的功能。
比如下图中,此时可以看见我的栈帧中已经压栈的方法为getUserInfo,并且此时我的断点已经进入到了这个方法的第一行。
此时如果我点一下这个回退的按钮,就会将这个方法弹栈并且重新回退到这个断点处,然后你就可以再一次进入这个方法了。
【Java】关于我Debug的一些技巧_第2张图片
【Java】关于我Debug的一些技巧_第3张图片

表达式的执行

这个表达式的执行是我们用的最多的。
也就是我们可以在debug的时候动态的去修改当前的值。
如下:
【Java】关于我Debug的一些技巧_第4张图片
可以看到我在这里的表达式修改了一下user1的值,按下回车修改之后
【Java】关于我Debug的一些技巧_第5张图片
当然,你也可以右击某一行你要修改的数据,然后
【Java】关于我Debug的一些技巧_第6张图片
当然,你还可以使用
【Java】关于我Debug的一些技巧_第7张图片
在这个控制台里面你可以输入大量的操作(下面的代码你可以加上 ;也可以不加,直接回车就可以执行了)
【Java】关于我Debug的一些技巧_第8张图片

直接返回

我们在写代码的时候可能遇到下一行代码的时候就是直接修改数据库了,但是再之前的debug中我们已经知道了我们想要的数据了,不希望再去修改数据库,那么此时可以用force return强制返回的方式来解决。
【Java】关于我Debug的一些技巧_第9张图片
可以看到使用force return之后,updateDB的操作就没有执行了
【Java】关于我Debug的一些技巧_第10张图片

你可能感兴趣的:(java,java)