无法在eclipse上检查变量

时间:2009-07-23 11:39:15

标签: java eclipse

调试远程Java应用程序时,我无法检查eclipse上的变量。可能是什么原因。

EDITED: 我无法检查任何变量。检查器迷你窗口中显示的消息是“变量名称无法解析”。当我用测试代码在本地运行时,我能够看到内容。

8 个答案:

答案 0 :(得分:8)

绝对确定部署到远程服务器的类已使用调试信息进行编译。

答案 1 :(得分:2)

检查您是否已连接到远程应用程序。

如果您的应用程序有多个线程,则可能是没有选择任何线程,在这种情况下 - 选择调试器停止的线程。

如果调试器没有停止 - 设置一个断点。

答案 2 :(得分:2)

在我的情况下,我通过Maven编译项目,编译器插件使用debug = false。这就是问题!

答案 3 :(得分:1)

所有变量还是只是一些?可能有几个原因:

  • 该课程没有可用的调试信息。在本地调试相同的代码时,您不会看到变量。

  • 也许Eclipse中存在错误。你检查了错误控制台吗?

  • 我不确定VM的版本是否有任何区别。但是你应该尝试在两边使用相同的VM来确保。

答案 4 :(得分:1)

在Eclipse中调试时,您可以通过两种视图查看值。首先是表达式视图。在“表达式”视图中,您可以看到指示要“观察”的字段的值。其次是“价值观”观点。在“值”视图中,您可以查看正在逐步执行的方法中的字段值,如果使用调试令牌编译类,或者如果未使用调试编译类,则可以查看传入的参数值。

如果您看到“无法解析变量名称”之类的内容,则可能是您正在使用“表达式”视图,而不是“值”视图。

答案 5 :(得分:1)

我最近遇到了同样的问题并检查了所有类都是使用调试信息编译的,并且它们是。

我发现问题是本地来源有点过时了。我调试的代码的来源在两个版本之间没有变化,但问题仍在发生。 一旦我从Subversion更新并在本地重建,问题就解决了。

答案 6 :(得分:0)

背后可能有很多可能的原因。 你在'适当的背景下'吗?如果您的调试器位于一个上下文或堆栈帧,并且您正在尝试检查不在该范围内的变量,那么您将无法检查它们。

答案 7 :(得分:0)

切换到使用maven构建后,我遇到了这个问题。为了解决这个问题,我将标签添加到pom.xml中的compilerArguments标签。找到maven compiler-plugin标签并对其进行修改,使其看起来如下所示,您想要添加的新标签是空标签!!:

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <compilerArguments>
                    <source>1.8</source>
                    <target>1.8</target>
                    <g></g>
                </compilerArguments> 
            </configuration>
        </plugin>