在 Eclipse 中调试时未显示的变量

我正在为开发人员运行 Eclipse Galileo。

在调试模式下运行时,当前变量及其值不会出现在 变量窗口中。当我在断点之后单步执行代码时,该窗口仍为空。

昨天晚上它还能用,所以我很困惑。为什么会发生这种情况? 有什么关于故障排除的建议吗?

168897 次浏览

尝试右键点击变量并选择检查,然后它应该出现在一个弹出窗口

我最终通过重置 Debug 透视图来尝试一些简单的东西,这似乎是有效的:

窗口 = > 透视图 = > 重置透视图..

谢谢你的评论。

重置透视图对我来说还不够,我必须首先删除“ Variables”选项卡,然后重置透视图(将 Variables 选项卡恢复到工作状态)。上面没有提到的另一件事可能对其他人有帮助——当变量选项卡不工作时,选项卡的标题是斜体的(无论这意味着什么)。当它的工作,它回到正常的字体。

窗口-> 显示视图-> 变量

我遇到这个问题是因为 eclipse 认为正在执行的代码被注释掉了。有一个 # ifndef 包装器,在项目的一部分中,条件的计算结果为 false。不幸的是,CDT 不够聪明(Helios 或 Keppler) ,没有意识到它并不总是错误的,当单步执行该部分代码时,变量窗口不起作用。我仍然可以检查单个变量值。

我有同样的问题,在我安装 MinGW 之后,我可以看到变量。

我发现如果我想看到变量,我需要删除静态声明,但是这样做效果更好..。

在 Eclipse 中调试时修改/查看静态变量

I used Fender's style above, but selected to "Watch" a variable. Once in the Expressions tab, I just moved over to the Variables tab and Voila - variables back in business.

我重新启动了 Eclipse,它再次工作了。

所有的解决方案对我都不管用。解决我的问题是在变量窗口的下拉箭头下。在布局选项中,我必须选择“仅查看变量”,然后才能再次看到变量的值。

这个问题也突然出现在不知道什么地方。一会儿 Debug 正在工作,一会儿又不工作了。

对我有效的方法如下: 对于顶部堆栈框架,我有一个空白的 Variables 视图。我选择了一个较低的堆栈帧,然后重新选择了最上面的一个,而 Variables 视图以某种方式刷新了自己。注意: 我正在使用 Eclipse Mars,所以这个 bug 似乎在这个版本中返回了(或者它是一个不同的版本,具有相同的症状?).

我的问题是,我看不到变量名,只看到值。经过一段时间的尝试,我得到了解决方案: 单击向下箭头(在 degub Variables 选项卡中)—— > Layout —— > show column

成功了!

在我的例子中,变量没有显示出来,因为在调试器的设置中(在我的例子中是 xdebug) ,我将 Max children/Max data/Max 数组深度更改为大值... ... 我重置了配置,它工作了

如果您能够跳到断点上,那么可以重置透视图。

关于 Eclipse 版本: Luna Service Release2(4.4.2) Build id: 20150219-0600我注意到不仅变量视图是空的,而且导航执行的按钮(F5,F6,F8功能按钮)也被禁用。在这种情况下,转到“调试视图”,右键单击带有黄色暂停符号的行,然后选择“恢复”这样的选项。在下一个断点上,变量视图将自动完成,并启用执行导航按钮。无法解释原因

视窗-> showView-> 变量

或者 你可以重置透视图

窗口—— > 首选项—— > 透视图—— > 还原默认值

对我来说,问题的解决方案是正确地配置 xdebug。 我在 php.ini 中添加了以下代码行:

Zend _ extension = “ C: xampp php ext php _ xdebug. dll”

Remote _ able = 1

Show _ local _ vars = 1

The important part I was missing : xdebug.remote_enable = 1

我也有这个问题: EclipseNeon + Tomcat8在调试模式下没有显示所有的变量。我试过以上建议,但没有成功。然后我用 NetBeans8 + GlassFish4调试了同一个 web 项目,所有的变量都用值列出来了。然后我用 NetBeans8 + Tomcat8调试了同一个 web 项目,并没有列出所有的变量。然后,我为 EclipseNeon 安装了 GlassFish4,在调试同一个 Web 项目时,所有的变量都以值的形式列出。问题出在 Tomcat8上。注意: 作为管理员运行 Eclipse 来安装 GlassFish4; 使用 NetBeans 更容易安装其他服务器。

我的问题是,我使用 OpenMP,我 残疾人 OpenMP 然后局部变量出现。

Resetting the view and re opening Eclipse did not help me, but this worked for me:

click on the arrow down button in the 变量 window -> Layout -> 选择列 -> Check whichever columns you want.

尽管我已经同时选中了“ name”和“ value”,但我还是取消了选择,再次选中了它们,单击“ 好的”,列就出现了。

Also: your process needs to be suspended for Eclipse to show variables. If it is running, Eclipse won't show any variable.

要挂起一个线程,请在“ debug”视图中选择一个线程,然后点击“ susend”

如果您正在寻找“您正在使用的对象的实时视图”,当您鼠标悬停时,您看到的只是名称,请确保您在正在测试的方法上放置了一个断点。否则,当您将鼠标悬停在上面时,只会得到方法名。

不管怎样,我希望这能帮到某人。我尝试了以上所有的步骤,这是伟大的!但是我仍然无法看到我正在使用的对象。可能只是菜鸟才会犯的错误。

祝你好运!

在尝试以上答案后没有找到解决方法- Maybe this is very specific to my case - 解决方案是确保选项 Eclipse 中没有启用“跳过所有断点” 运行-> 跳过所有断点(ctl-alt-B)(切换)

在我的案例中,我认为潜在的原因是 Variables View没有正确地初始化。 Variables View init blank 另一种方法是在正确的代码需要更改变量之前输入另一个断点。在进入添加的第二个断点(上面提到的)之后,eclipse 将刷新视图,所有事情都应该恢复正常。

Java 编译器可能配置为不保存变量信息。在 ProjectExplorer 中右键单击该项目,然后选择 属性 > Java 编译器 > 向生成的类文件添加变量属性(由调试器使用)。如果没有设置这个选项,您将只能在 Variables 视图中看到字段,而不能看到局部变量。

Like with every bad software the treatment for this wrong behaivier does not exist. 对一个人有好处的事情,对其他人不会有好处。

我让调试器停止在一个刹车点一次,然后再次第二次和第三次野兽已经显示的变量视图与所有数据在它。

假设您有自己喜欢的调试视图,并且不希望在每次出现这个 bug 时都要重置它,那么可以尝试这样做。这假设您的“调试视图”同时打开了“表达式”和“变量”视图。

Double-Click the Expressions tab (the actual tab with the text, not the 'window bar'). This will maximise it. Repeat to restore it to previous size/location. That should reset everything except Expressions. Repeat for the variables tab and it will reset expressions.

这对我在 视窗10和 Eclipse 上的工作很有帮助:
版本 : 2018-09(4.9.0)
Build id : 20180917-1800
Java : jdk1.8.0 _ 171

大多数情况下,您会导入多个 Eclipse 项目,并在 饭桶 Branch之间切换。然后,您构建并导入不正确的项目,其中调试器不会出现!

如果重置 Eclipse 观点不起作用,那么做以下事情:

  1. 从磁盘中删除 Eclipse 项目。

  2. 清理并构建 Eclipse 项目(在我的案例中,我使用了 ANT 工具)。
    注意: 验证您是否正在构建预期调试器将出现在其中的项目。通过将鼠标悬停在设置调试点的文件上可以找到要生成的正确项目名称。

  3. 再次导入 Eclipse 项目。

  4. 另外,验证是否在 偏好-> < em > < strong > InstalledJRE 中选择了正确的 JDK

转到 Eclipse 菜单—— > Window = = > Show View = = > Variables

这将使您的变量窗口在 Eclipse 中返回

以上这些对我来说都不起作用。起作用的是(从菜单上) :

窗口-> 透视-> 近景

那么

窗口-> 透视图-> 开放透视图-> 调试

可能有不同的原因。
对于我的案例,变量值显示已经工作了很长时间。然后有一天,它在同一行代码中停止工作了。我发现罪魁祸首是已中止但仍然挂在 Windows 文件资源上的 JUnit 测试线程。
After closing all Windows applications(including Eclipse), I found there were a couple of directories (under JUnit test resource directory) which I can't delete because some files there were locked for unknown reason.
因此,我尝试了 Windows 重新启动,修复了 Eclipse 调试问题。