多线程调试:
在多线程调试的时候,发现一些断点会被跳过,让人很郁闷,然后上网查了下资料,发现是自己IDEA设置不对。
使用IDEA调试多线程的时候,IDEA的断点有不同的模式,只有当Thread模式下才能阻塞线程, 而默认的All模式,只会阻塞当前线程,其他线程仍然会运行,所以我们需要修改模式All->Thread.
点击断点,右键:
Make Default功能会使得之后打上的断点也会是Thread模式的(注意,之前打上的不会变更,需要手工更改)。
现在线程b, c, d, e都已经阻塞住了,当前运行的是a:
有时可能想在指定的情况下进入断点,如当某个线程时进入断点、当count=3时进入断点,这样可以在断点上加条件