无法评估断点条件。原因:已收集对象

Gil*_*ili 2 java debugging intellij-idea

在Intellij IDEA中调试Java应用程序时出现此错误。

此错误是什么意思,如何避免?

此错误非常令人沮丧,因为对于特定的代码序列,它会100%地发生,但是剥离代码会使它消失。因此,我无法提供最小的测试用例,而我拥有的应用程序太大了,无法共享。

我正在Windows 10,JDK版本1.8.0_161,IntelliJ IDEA 2018.1下运行。

屏幕截图

Ego*_*gor 5

当在计算结束之前收集评估期间创建的临时对象时,就会发生这种情况。通常,当您在计算期间仅挂起一个线程而其他线程执行GC时,可能会发生这种情况。这将在2018.2中得到更好的处理,不便之处,敬请原谅。

为了避免这种情况,您可以将条件添加到代码中并在其中设置断点:

if (<condition>) { int a = 5; // set a breakpoint here }

这不是很方便,但是通过这种方式您可以肯定地避免此问题。

  • 该bug在2022.1版本中依然存在。无论如何,这里是原始错误报告:https://youtrack.jetbrains.com/issue/IDEA-190053 (2认同)