Watch表达式在eclipse中没有显示java的值

时间:2012-05-20 08:06:05

标签: java eclipse debugging watch

我正在使用eclipse helio和java。

在调试代码时,watch表达式选项对我不起作用

如果我正在监视变量,我无法在监视视图中看到该变量的值 如果我用鼠标覆盖代码中的变量,我可以看到它的值 如果我在变量视图中检查变量,我可以看到它的值

但是在监视表达式窗口中我看不到它的值(如果我尝试观察表达式就会出现问题)

有没有人遇到过这个问题

(它曾经很好地工作并显示值,但突然停止了,我不明白为什么)

感谢

3 个答案:

答案 0 :(得分:14)

对我来说,问题与项目的错误源路径配置有关。有许多不同的方法可以解决这个问题,但一种方法是在调试器中暂停时右键单击该线程,选择“编辑源查找...”,并调整其中指定的路径(见下文)。 / p>

enter image description here

在我的情况下,问题是我已将源查找路径指定为“文件系统目录”。通过删除“文件系统目录”路径并将源查找添加为“Java项目”,我能够使我的Expressions视图再次工作。

您可以通过打开Debug - >来检查问题是否是您的源查找路径。显示视图,并尝试在那里评估Java表达式。如果您看到这样的消息,那么您的源查找路径就不好了:

To perform an evaluation, an expression must be compiled in the context of a Java project's build path. The current execution context is not associated with a Java project in the workspace.

答案 1 :(得分:3)

通常(至少对于简单情况)表达式视图有效。但有时它确实停止显示价值观。

通常刷新和清理项目+(有时)重启eclipse帮助。

如果您能够看到简单的值并且无法看到表达式,有时因为表达式返回的类不会出现在当前类的导入列表中。在这种情况下,我经常尝试将显式强制转换为类写入监视表达式,有时它会有所帮助。

祝你好运。

答案 2 :(得分:0)

在我的情况下,在针对wildfly进行调试时,在我作为maven项目打开eclipselink 2.6.4的源代码后,我的工作区以某种方式被破坏了。

打开这个maven项目后 - 你可以在oracle库上形成所有类型的依赖项 - 在我的工作区中,表达式和显示视图根本不再起作用。变量视图,而调试继续工作以及所有鼠标悬停。

然后我创建了一个全新的空工作区。 仅导入我想调试的项目。 重新配置的wildfly服务器。 瞧,表达和展示都恢复了工作。

所以,我不知道我的日食发生了什么......但它似乎与我工作区中的元数据根本被打破有关。

因此,如果您感觉突然之间失去了在工作区中正确调试的能力,那么可能是您的工作受到了重创。

这似乎是发生在我身上的事情。最后,我现在回到能够在这个新工作区上使用表达式。