起源

Eclipse切换到IDEA后,在进行多线程调试的时候,发现它阻塞了其他所有的线程,但是在同事的Eclipse上进行调试的时候,却发现并没有阻塞。

原因

我使用的IDEA版本是14.1.4(Ubuntu 14.04 64 bit, JDK 1.8 64 bit),经过查资料发现IDEAEclipse的调试策略默认情况下配置不同.

IDEA默认是ALL级别

Eclipse默认是Thread级别

解决

想要调整调试级别时,可以到相应的IDE下修改下即可.

IDEA -> run -> View breakpoints,选择对应的断点,然后在右边的界面里选择Suspend,有两个选项ALLThread. 因为默认情况下是ALL,所以才会导致阻塞所有.

Eclipse -> Window -> Preferences -> Java -> Debug ,右边的界面有Default suspend policy for new breakpoints,这个是全局默认修改配置.