调试器模式下的表达式视图不显示值 - Eclipse

问题描述

我正在使用 Eclipse 调试器模式,出于某种原因,当我在 Expression 视图中键入一个表达式时,没有显示相应的值。即使我输入已填充的有效变量的名称(我知道它们是有效且已填充的,因为代码按预期工作,我可以在变量视图中看到它们的值,当我将鼠标悬停在它们上方时,只是不在表达式视图)。我尝试重新启动 Eclipse,刷新/重建项目,但似乎没有任何效果。它在当天早些时候工作得非常好,然后在调试过程中突然停止工作,没有任何设置更改。有谁知道为什么会发生这种情况以及如何解决它? (澄清一下,我并不是要查看任何东西的表达式,例如我知道无法在表达式视图中计算的 lambda 函数)。

编辑: 我认为这与以下事实有关:当我调试时,Eclipse 现在在该类的新实例中的断点处停止,但在文件名旁边有一个用于 Java 的镂空 J。

Normal file

File with hollowed out J where breakpoints are stopping at

解决方法

您可以使用 Debıg Shell 面板来显示变量的值。

您可以使用 Perspectives -> Debug Shell 打开此面板

注意:在旧版本的 eclipse 上,此面板的名称是 Display。

,

事实证明该问题实际上与我对原始问题所做的编辑有关。文件图标的镂空 J 意味着在调试时,我将文件用作资源而不是实际编译的文件。这导致了问题,也意味着我对代码所做的更改没有反映出来,因为它们没有被编译。为了解决这个问题,我确保我使用的项目具有正确的依赖项和正在使用的其他项目的版本,然后刷新 gradle 并重新启动服务器。这确保了实际编译所需的文件,而不仅仅是用作资源文件。