Eclipse ide,无法解析新编写的函数中的变量

时间:2010-10-05 13:20:38

标签: java eclipse

我有一个奇怪的问题,我以前从未遇到过,在Eclipse中进行调试。在调试时,当我打破新代码时,函数中的变量不会显示在“变量”窗口中。显示的那些只是作为参数传递给函数的那些,它们显示为arg(0),arg(1)等,而不是它们的名称。当我想观察或检查函数中的变量时,我收到消息“这样且无法解决”。一些事实: 1.当我在调试堆栈中查看并查看其他函数时,变量会正确显示 2.调试运行与我编写的代码同步 我工作的项目是使用外部工具(使用ant)编译的。我的同事都没有遇到过这样的问题,尽管他们都使用外部工具进行编译。 4.日食是3.2.1版本

5 个答案:

答案 0 :(得分:6)

如果您在没有-g选项的情况下编译代码,这是一种典型的行为。

在eclipse中:右键单击Project,从上下文菜单和“Java Compiler”中选择“Properties”。检查是否启用了“项目特定设置”。

如果已启用,请检查是否选中了下方区域中的所有复选框,尤其是“添加变量属性以生成类文件”。

如果此复选框已启用但未选中,请选中它(按应用),如果未启用未选中,请选择“配置工作区设置”并全局启用缺少的功能(我的建议)。


外部工具 - javac命令需要-g选项。默认行为(no -g)没有本地变量信息。 (Reference)

答案 1 :(得分:1)

确保在运行代码之前打开“Debug Perspective”。这一次为我解决了类似的问题。

答案 2 :(得分:0)

看起来您在编译期间丢弃了调试信息。检查Ant-Task的命令行参数。

答案 3 :(得分:-1)

另外几件事。

  1. 确保您正在编译和调试的JDK是相同的
  2. 如果这是一个真正的Eclipse错误(例如,上面没有公布的解决方案之一),您可能会对升级感到高兴。

答案 4 :(得分:-1)

使用ant进行编译时,请确保将这些说明传递给javac选项。

javac **debug="true" debuglevel="lines,vars,source"** target="1.6" source="1.6" srcdir="${project.src.dir}" destdir="${project.build.dir}" classpathref="classpath">