idea debug模式调试无法进入单元测试或程序或调试速度很慢的解决办法
在Java项目中,当我们设置断点过多,有时候会出现无法正常启动系统或单元测试。例如Spring/SpringBoot项目,一直处在启动中,但使用无法正常相应。或者是执行junit单元测试,一直无法进入在test中设置的断点。这时可以尝试如下操作:
IDEA调试性能受到下列因素的影响:
-
由于JVM的设计原因,相关计算开销较大,方法断点会降低调试性能。可以考虑删除方法断点,使用行断点[1]。可以在项目的workspace.xml文件中查通过关键词method_breakpoints寻找是否有方法断点。或者一次清除所有设置的断点。
-
启用了查看返回值选项。可以禁用这个选项改善性能。
-
在debugger|data views配置页面中有enable alternative views和enable toString()两个选项。如果toString()耗时较长则可禁用改选项。
-
调试器工具窗口-内存状态展示窗口。debugger 每触发一次停顿,窗口都会刷新展示数据。可以将窗口最小化改善单步调试性能。
多数情况下删除所有断点就可以解决问题。
原文
[1]https://intellij-support.jetbrains.com/hc/en-us/articles/206544799-Java-slow-performance-or-hangups-when-starting-debugger-and-stepping