我正在为 Java 运行 Eclipse。我创建了一个 XML 文件的 DOM 版本。现在我想更改文件中元素的属性。我调用了一个方法,该方法调用了控制 DOM 的类中的方法,并且在调试时出现了一个对话框,提示“JDI 线程评估遇到问题。异常处理异步线程队列”。
我是 Java 的相对新手,没有遇到过这样的错误,我不知道是什么原因造成的。
如果有人对问题的原因和/或解决方法有任何建议......
非常感谢!
密切注意您的“观看”表达 - 如果您不需要它们,请将它们全部删除。有时某些手表表达式会导致我出现此错误消息。
这也可以解释为什么人们会间歇性地发生这种情况(有时他们的手表分配会导致错误,但是重新启动或移除正确的手表可以在他们不知情的情况下解决问题。)
Java 调试接口 (JDI) 是Java 平台调试器体系结构的一部分。当对象的toString()
方法不小心返回时,就会出现触发此异常的一种明显方式null
。您可能想尝试不同的调试器,并且验证您的 XML 不会有什么坏处。如评论中所述,该问题可能会间歇性出现,表明存在线程同步问题。
当您调试时,此错误会安静地发生几次。您可以通过删除所有监视语句和所有断点并重新启动 Eclipse 来清除它。
如果源查找配置不正确,也会出现此问题。例如,假设一个人想看表情foo.bar()
。现在,如果源查找配置不正确,调试器将无法解析表达式的绑定foo
(请参阅这个 eclipse 错误)。然后调用.bar()
将失败并返回 NullPointerException。
如果您为特定类配置了“详细格式化程序”(在 Eclipse 中:Java -> 调试 -> 详细格式化程序),则可能会出现此问题。尝试禁用它们。
当我调试显示为:的表达式时,这在 eclipse 中被复制""
,这只是一个空表达式。
因此,如果您遇到此问题,一种解决方案可能是检查您的表达式之一是否为空或类似,然后适当地删除它。