【问题标题】:Watch expression doesnt show value in eclipse with java观看表达式在 java 中的 Eclipse 中不显示值
【发布时间】:2012-05-27 03:50:49
【问题描述】:

我在 java 中使用 eclipse helio。

调试我的代码时,监视表达式选项对我不起作用

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

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

有人遇到过这个问题吗

(它曾经可以正常工作并显示值,但突然停止了,我不知道为什么)

谢谢

【问题讨论】:

标签: java eclipse debugging watch


【解决方案1】:

就我而言,在针对 Wildfly 进行调试时,在我将 eclipselink 2.6.4 的源代码作为 maven 项目打开后,我的工作区不知何故损坏了。

打开这个 maven 项目后——它有各种依赖项,你可以在 oracle 库上进行映像——在我的工作区中,表达式和显示视图不再起作用。变量视图,同时调试和所有鼠标悬停一样继续工作。

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

所以,我不知道我的 eclipse 发生了什么……但它似乎与我工作区中的元数据从根本上被破坏有关。

因此,如果您突然感觉无法在工作区中进行正确调试,则可能是您的工作区受到重创。

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

【讨论】:

    【解决方案2】:

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

    就我而言,问题在于我已将源查找路径指定为“文件系统目录”。通过删除“文件系统目录”路径并将源查找添加为“Java 项目”,我能够让我的表达式视图再次工作。

    您可以通过打开 Debug -> Display 视图并尝试在此处评估 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.
    

    【讨论】:

    • 非常感谢,马特! “在调试器中暂停时右键单击线程,选择 ...”然后添加我的所有项目就可以了
    • 我有类似的问题,但我的项目是一个 Maven 项目。因此,当我在 Source Lookup Path 中单击 Java Project 时,它甚至没有显示我的项目 :( 有什么建议吗?我发布了这个问题 -- stackoverflow.com/questions/54083092/…
    【解决方案3】:

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

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

    如果你能看到简单的值而看不到表达式,有时是因为表达式返回的类没有出现在当前类的导入列表中。在这种情况下,我经常尝试将显式转换为类写入手表表达式,有时它会有所帮助。

    祝你好运。

    【讨论】:

    • 是否有可能 Eclipse 不会在我从 jar 获得的类上显示监视值,它不是我的源,或者在其他方法参数列表中调用的方法上?我注意到它适用于某些方法,但不适用于我上面提到的方法。 (它不显示简单变量和表达式,只有在简单变量上我可以用鼠标悬停并查看值,而表达式我不能)
    猜你喜欢
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 2021-05-02
    • 2012-01-20
    • 2015-11-15
    • 1970-01-01
    相关资源
    最近更新 更多