Eclipse 断点未绑定到正确的二进制文件

Eclipse breakpoint not binding to corrcect binaries

使用 Eclipse 4.7.3a 或 4.8.0(尝试更新以查看是否可以解决问题)。

由于某些情况,我有一个项目依赖于另一个项目。

Project A 在其构建路径中包含 Project B

假设项目结构如下:

Project B:
    com.foo.bar.MyClassToOverwrite
    com.foo.bar.MyClassToInherit

Project A:  
    com.foo.bar.MyClassToOverrwrite

Project A的意思是继承了Project B的大部分代码,但覆盖了一些代码,在这种情况下它会覆盖com.foo.bar.MyClassToOverrwrite.

MyClassToInherit 调用 MyClassToOverrwrite(来自 Project AProject B

I 运行 Project A - MyClassToInherit 并且它正确调用 Project A - MyClassToOverrwrite.

然而,我在 Project A - MyClassToOverrwrite 中设置了一个断点,但它从未被触发。

如果我在 Project B - MyClassToOverrwrite 和 运行 Project A - MyClassToInherit 中放置一个断点,它调用 Project A - MyClassToOverrwrite 它似乎命中了放置在 Project B 但在 Project A...

最近的一行暂停

我已确保 Project A 的构建路径顺序 Project AProject B 之前,因此将使用 Project A 资源而不是 Project B 相同限定名称的资源。

除了在另一个项目中包含一个项目外,我尝试了共享项目资源的链接源目录方法,但仍然运行遇到同样的问题,即在继承项目中没有命中断点。

断点已经正常工作了一段时间。我们昨天才 运行 关注这个问题,不太确定发生了什么变化。

您知道哪些地方可能发生了变化,或者我应该查看哪些地方可以看出哪些地方发生了变化?您对解决方法有什么建议吗?

感谢您的宝贵时间。

如果您有任何问题,请提问,我会在明天断断续续地查看回复。

关于在哪里设置断点的困惑多年来一直是一个已知问题。潜在的混淆与具有一致的层次结构有关。我先举报 它在 2005 年,但它比那更老。 https://bugs.eclipse.org/bugs/show_bug.cgi?id=96051

他们进行了各种尝试来解决这个问题,但都没有成功。