Idea的debug断点调试

x33g5p2x  于2022-04-02 转载在 其他  
字(0.8k)|赞(0)|评价(0)|浏览(350)

关于Idea的debug模式下线程断点的总结:

断点介绍:

如图所示,断点可以为所有断点和线程断点,每种断点还可以设置条件,条件满足时才会进入该断点。

1.当设置为All的时候

点击下发的下拉框,可以看到此时拦截到两个线程,切换的时候右侧的值也会出现相应的变化。但是当点击next之后,这个断点就结束了。而我之前用的最多最熟悉的的也是这种,每一个断点走完了也就没了,想再次进入的时候只能再次调用该断点所在的方法。

2.当设置为thread之后

当第一次进入断点时,可以在下方清楚的看到thread-0 ,表示进入了第一个线程,与All的情况相同。点击下方的下拉框依旧会出现第二个线程,当切换到第二个线程的时候可以清楚地看到右方输出的结果不同。

但如果再点击next的时候,它仍旧停留在该断点。但是下方变成了thread-1,并且thread-0这个线程不再下方的下拉框中,如下图所示:

所以当设置超过一个线程的的时候点击next,就会发现又进入了一次断点。直到所有的线程都走完,断点才会结束。这样会很清楚地看到有断点在不同线程时的状态。

3.设置带条件的断点,

当发起多次请求的时候,有时候想要看到某条数据进入该断点时的状态,就可以在设置断点的时候,右击并在condition输入框中输入进入该断点时的条件,不管是多线程还是单线程的断点,都只会在符合条件的时候才会进入。减少了调试的时间,可以直接快速的达到调试的效果。

禁止所有断点:

在调试的过程中,不知道哪个断点有问题。某行代码有bug,想跳过所有的断点,

点击之后断点从红色变成灰白色,按F9之后所有的断点都跳过去,不会停下

条件断点

假设在这打断点,需要字符串s满足内容为张三才进行断点

就会出来一个条件窗口

输入java表达式

字符串s满足内容为张三才进行断点

设置了之后,满足条件会停留,

相关文章