【问题标题】:.class file isn't syncing with .java file when debugging.class 文件在调试时不与 .java 文件同步
【发布时间】:2015-07-11 08:45:45
【问题描述】:

我在谈论“同步”时可能使用了错误的术语,但我认为这是描述它的最佳方式。我正在尝试调试一个我已经工作了几天的项目,但由于某种原因,.java 类和 .class 文件没有同步(.class 文件没有更新到任何我对正在编辑的 .java 类所做的更改)。让我从头开始,我猜,当我在我正在调试的 .java 文件中添加断点(有时会跳过断点)并在到达断点时运行调试器时,打开 .class 文件而不是.java 文件。

我在这里搜索了一些主题并找到了解决方案,即“编辑源代码查找”。所以解决了关于 .class 打开而不是 .java 文件的部分。现在的主要问题是当我用任何东西编辑 .java 文件并运行调试器时,它完全忽略了我的更改。例如,如果我在断点之前或什至在它没有打印到控制台之后实现 System.out.println("Test: 1")。另一个例子是,如果我注释掉一行代码并运行调试器,调试器仍然会执行我刚刚注释掉的那行代码。 我搜索了一些解决方案,但它们并没有太大帮助。我尝试过的一些事情但没有奏效: Why isn't Eclipse updating the classes?

1.) 确保自动构建被选中

2.) 清理项目

3.) 刷新项目,F5

4.) 转到 Wwindows->Preferences->General->Workspace 并确保选中前 2 个复选框。

5.) 保存

6.) 重启 ecslipse

如果有人知道如何解决我的问题,我将感激不尽。顺便说一句,我使用的是 java 1.7

【问题讨论】:

  • 你如何确保你放置打印语句的代码被执行?是否满足打印语句的所有条件?是否曾经调用过 print 语句的方法?
  • 是的,方法中的所有代码体都被执行并调用了该方法,除了我在方法中所做的更改,例如打印语句或注释掉的代码(这些只是少数)跨度>

标签: java eclipse class debugging


【解决方案1】:

您的描述表明您的项目定义存在问题。
确保您的项目(主要可运行类)指定了正确的依赖项 - 它确实指定对其他 jar 文件的依赖项,但包括来自相关项目的依赖项

【讨论】:

  • 这可能是可能的原因之一。另一个原因可能是 OP 期望执行的代码永远不会到达。我们永远无法确定。
  • @ChetanKinger 加载了类而不是源代码——这意味着 Eclipse 不知道源代码在哪里......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-04
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多