JDI 线程评估遇到问题

Posted

技术标签:

【中文标题】JDI 线程评估遇到问题【英文标题】:JDI Thread Evaluations has encountered a problem 【发布时间】:2011-01-17 10:07:45 【问题描述】:

我正在为 Java 运行 Eclipse。我创建了一个 XML 文件的 DOM 版本。现在我想更改文件中元素的属性。我调用了一个方法,该方法调用了控制 DOM 的类中的方法,并且在调试时出现了一个对话框,提示“。异常处理异步线程队列”。

我是 Java 的相对新手,没有遇到过这样的错误,我不知道是什么原因造成的。

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

非常感谢!

【问题讨论】:

【参考方案1】:

留意您的“观看”表达 - 如果您不需要它们,请将它们全部删除。有时某些手表表达式会导致我出现此错误消息。

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

【讨论】:

你的小费为我节省了很多时间。非常感谢。 很高兴能帮上忙——这也让我发疯了 “观看”是指“表情”吗?我是 Eclipse 新手。 我想知道为什么即使手表出现故障它也会失败。 Eclipse 应该忽略而不是反复打扰调试会话。不过谢谢它的帮助。【参考方案2】:

Java 调试接口 (JDI) 是 Java Platform Debugger Architecture 的一部分。当对象的toString() 方法不小心返回null 时,就会出现触发此异常的一种明显方式。您可能想尝试不同的调试器,并且验证您的 XML 不会有什么坏处。如 cmets 中所述,该问题可能会间歇性出现,表明存在线程同步问题。

【讨论】:

有趣的是,下次我尝试运行/调试程序时,我没有遇到任何问题。 确实,一些讨论提到了间歇性故障。这总是让我想到线程同步问题:例如,延迟初始化可能会出现null 到一个线程而不是另一个线程。 我同意线程同步问题,我通过同步一种方法解决了这个JDI问题。【参考方案3】:

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

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:

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

【讨论】:

【参考方案6】:

当我在调试表达式时,这在 Eclipse 中被复制:"",它只是一个空表达式。

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

【讨论】:

以上是关于JDI 线程评估遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

评估表达式程序在处理用户输入时遇到问题

企业遇到什么问题有必要做360度评估?

Anaconda安装第三方包时遇到的问题及解决方法笔

开发中遇到的一些问题一

你是如何解决的的?我也遇到了您的 Microsoft Visual Studio 评估期已过。这样的问题!

最近遇到的关于微软的两个坑