JDI线程评估遇到了问题

时间:2010-02-16 14:08:39

标签: java eclipse dom jdi

我正在运行Eclipse for Java。我创建了一个XML文件的DOM版本。现在我想更改文件中元素的属性。我调用了一个方法,在控制DOM的类中调用了一个方法,我在调试时得到了一个对话框,说“JDI线程评估遇到了问题。异常处理异步线程队列”。

我是Java的相对新手,并没有遇到过这样的错误,我不知道是什么导致它。

如果有人对问题的原因和/或解决问题的方法有任何建议......

非常感谢!

6 个答案:

答案 0 :(得分:57)

密切关注“观察”表达式 - 如果您不需要它们,请将它们全部删除。有时某些监视表达式会导致我出现此错误消息。

这也可以解释为什么它会间歇地发生在人们身上(有时他们会有导致错误的手表分配,但重新启动或删除正确的手表可以在他们不知情的情况下解决问题。)

答案 1 :(得分:7)

Java调试接口(JDI)是Java Platform Debugger Architecture的一部分。当对象的toString()方法不小心返回null时,会发生一种触发此异常的明显方法。有一个有趣的讨论here。您可能想尝试使用不同的调试器,验证XML也不会有什么坏处。

答案 2 :(得分:4)

调试时,此错误会安静几次。 您可以通过删除所有监视语句和所有断点并重新启动Eclipse来清除它。

答案 3 :(得分:1)

如果未正确配置源查找,也会出现此问题。例如,假设有人想要观看表达式foo.bar()。现在,如果未正确配置源查找,则调试器无法解析表达式foo的绑定(请参阅this eclipse bug)。然后,.bar()的调用将失败并出现NullPointerException。

答案 4 :(得分:0)

如果为特定类配置了“详细格式化程序”(在Eclipse中:Java - > Debug - > Detail Formatters),则可能会出现此问题。尝试禁用它们。

答案 5 :(得分:0)

这是在我调试表达式时在 eclipse 中复制的:stat_summary,这只是一个空表达式。

因此,如果您遇到此问题,一种解决方案可能是检查您的表达式之一是否为空或相似,然后适当地将其删除。

相关问题