ChatGPT解决这个技术问题 Extra ChatGPT

在 Eclipse 中调试时未显示变量

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

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

昨晚它还在工作,所以我很困惑。任何可能发生这种情况的原因以及有关故障排除的任何提示?

只需关闭该变量窗口。并再次打开它。
它发生在我身上,我刚刚重新启动了 Eclipse,它又工作了。

u
uvsmtid

我最终通过重置 Debug 透视图尝试了一些简单的事情,这似乎有效:

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

感谢您的评论。


我一直遇到同样的问题,重置视角一直对我有用。感谢您发布此内容。
实际上,无论是这个还是@tonyeva 的附加步骤都做到了,但它并没有立即起作用(即,在当前堆栈中),所以认为问题并没有消失。然而,当调试器停在不同的地方时,变量开始出现。
有时您需要再次单击线程以更新“变量”窗格。在 Debug 窗格中,找到旁边带有 (Suspended) 的线程,展开它,然后单击顶部堆栈帧。
谢谢!它有助于解决我的 vars 值问题!我使用 Eclipse NEON
在霓虹灯上工作,很好的答案!
j
jaciefan

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


窗口 --> 显示视图 --> 调试 --> 变量
l
lfvv

我的问题是我看不到变量名称,而只有值。尝试了一段时间后,我得到了解决方案:单击向下箭头(在 degub 变量选项卡中)--> 布局--> 显示列

它成功了!


谢谢,它也帮助我处理日食火星。向下箭头位于变量选项卡栏的右上角。
这也帮助了我在 Eclipse Mars 中,即使重新启动和删除视图根本没有帮助。
t
tonyeva

重置透视图对我来说还不够,我必须先删除“变量”选项卡,然后重置透视图(将变量选项卡恢复为工作状态)。上面未提及的另一件事可能对其他人有所帮助 - 当变量选项卡不起作用时,选项卡标题以斜体显示(无论表示什么)。当它工作时,它会恢复正常字体。


M
Michal Krasny

我重新启动了 Eclipse,它又可以工作了。


我也是。关闭并重新打开“变量”窗口不起作用,但退出 Eclipse 并重新启动可以。
我不得不关闭项目,重新启动 eclipse,重新打开项目,然后“变量”窗口再次开始工作。超级奇怪。
M
Moumit

Windows --> showView --> 变量

或者你可以重置视角

windows --> 首选项 --> 透视图 --> 恢复默认值


F
Fender

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


这对我有用(在 Neon 中),并且比重置视角更容易且破坏性更小
我只处理这个。 “ctr + shift + I”是变量的快捷方式或鼠标,它的值会显示出来。不幸的是,这对我不起作用。
C
Community

如果我想查看变量,我发现我需要删除静态声明,但这更好......

Modify/view static variables while debugging in Eclipse


这是最简单的答案:点击“变量、断点、表达式窗口 -> Java -> 显示静态变量”最右侧的下拉箭头。
佚名

对我有用的是:我有一个用于顶部堆栈框架的空白变量视图。我选择了一个较低的堆栈框架,然后重新选择了顶部的堆栈框架,变量视图以某种方式自行刷新。注意:我正在使用 Eclipse Mars,所以这个错误似乎已经在这个版本中返回(或者它可能是不同的,具有相同的症状?)。


L
LearnerForLife

转到 Eclipse 菜单 --> 窗口 ==> 显示视图 ==> 变量

这应该在 eclipse 中带回你的变量窗口


R
Reda

在我的情况下,变量没有显示,因为在调试器的设置中(在我的情况下为 xdebug)我将 Max children / max data / max array depth 更改为大值......我重置了配置并且它工作


F
Francesco

如果您能够在断点上跳转,则可以重置透视。

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


V
Vic Seedoubleyew

另外:您的进程需要暂停以便 Eclipse 显示变量。如果它正在运行,Eclipse 将不会显示任何变量。

要暂停线程,请在“调试”视图中选择一个线程,然后点击“暂停”


c
cool_display_name

尝试上述答案后没有找到解决方案 - 也许这对我的情况非常具体 - 解决方案是确保在 Eclipse 运行中未启用“跳过所有断点”选项 -> 跳过所有断点(ctl-alt-B) (切换)


L
Luke Hutchison

您的 Java 编译器可能配置为不保留变量信息。在 Project Explorer 中右键单击项目,然后选择 Properties > Java Compiler > Add variable attributes to generated class files(由调试器使用)。如果没有设置此选项,您将只能在变量视图中看到字段,而不是局部变量。


J
Joshua Richardson

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


W
Wuschelbeutel Kartoffelhuhn

我遇到了同样的问题,安装 MinGW 后,我可以看到变量。


c
capacitor24

我在上面使用了 Fender 的样式,但选择“观察”一个变量。进入“表达式”选项卡后,我刚刚转到“变量”选项卡,然后瞧——变量重新开始工作。


这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时对自己的帖子发表评论,一旦您拥有足够的 reputation,您就可以对任何帖子进行comment
最初的问题是:为什么会发生这种情况?其他答案,包括接受的答案,也没有提供问题的答案,但会解释如何解决问题。我的回答是一样的:这是在我的系统上工作的。但我敢肯定你只是想帮助我。谢谢!
谢谢你的禁令,赖。你是一个优雅的行为。
a
anatp2015

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

这个问题也是突然冒出来的。前一刻 Debug 正在工作,而下一刻却没有。


O
Occasional

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


S
Shadi Serhan

我的问题是我使用了 OpenMP,我禁用了 OpenMP,然后出现了局部变量。


D
Dom

重置视图并重新打开 Eclipse 对我没有帮助,但这对我有用:

单击“变量”窗口中的向下箭头按钮 -> 布局 -> 选择列 -> 检查所需的任何列。

即使我已经检查了“名称”和“值”,我还是取消选择并再次选择它们,单击“确定”并出现该列。


K
K.Andy Wang

https://i.stack.imgur.com/aI93A.png


r
romsky

就像每个坏软件一样,不存在对这种错误行为的处理。对一个人有益的东西对其他人无效。

我让调试器在一个刹车点上停止一次,然后第二次和第三次野兽显示了包含所有数据的变量视图。


F
FindingMyWay

假设你有你喜欢的调试视图并且不想每次出现这个错误时都重置它,试试这个。这假设您的“调试视图”同时打开了“表达式”和“变量”视图。

双击表达式选项卡(带有文本的实际选项卡,而不是“窗口栏”)。这将使其最大化。重复以将其恢复到以前的大小/位置。那应该重置除表达式之外的所有内容。对变量选项卡重复此操作,它将重置表达式。

这在带有 Eclipse 的 Windows 10 上对我有用:版本:2018-09 (4.9.0) 内部版本 ID:20180917-1800 Java:jdk1.8.0_171


R
Rohit Gaikwad

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

如果重置 eclipse Perspective 不起作用。然后做以下事情:

从磁盘中删除 eclipse 项目。清理并构建 eclipse 项目(在我的例子中,我使用了 ANT 工具)。注意:验证您是否正在构建预期调试器所在的项目。通过将鼠标悬停在设置了调试点的文件上,可以找到要构建的正确项目名称。再次导入那个 Eclipse 项目。此外,验证是否在 Preferences -> Installed JREs 中选择了正确的 JDK


t
theRiley

以上没有对我有用。起作用的是(来自菜单):

窗口 -> 透视图 -> 关闭透视图

然后

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


M
Ming D.

可能有不同的原因。对于我的案例,变量值显示已经工作了很长时间。然后有一天,它停止在同一行代码中工作。我发现罪魁祸首是中止但仍然挂起持有 Windows 文件资源的 JUnit 测试线程。关闭所有 Windows 应用程序(包括 Eclipse)后,我发现有几个目录(在 JUnit 测试资源目录下)我无法删除,因为那里的某些文件由于未知原因被锁定。所以我尝试重新启动 Windows 以修复 Eclipse 调试问题。


G
GBV

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

zend_extension = "C:\xampp\php\ext\php_xdebug.dll"

xdebug.remote_enable = 1

xdebug.show_local_vars = 1

我缺少的重要部分:xdebug.remote_enable = 1


这与 Eclipse 和 java 无关。你确定你在回答你想回答的问题吗?
J
Jonnathan moreno

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

无论如何,我希望这对某人有所帮助。我尝试了上述所有步骤,非常棒!但我仍然无法实时查看我正在使用的对象。这可能只是菜鸟的错误。

祝你好运!