Can';t在eclipse中对java文件应用调试

Can';t在eclipse中对java文件应用调试,java,eclipse,debugging,breakpoints,Java,Eclipse,Debugging,Breakpoints,在调试模式下对java文件应用断点时,断点不会停止该文件的控制流。但是,断点正在停止同一包中另一个文件上的控制流。 当我在一个文件上应用断点时,断点变为一个带尾部的圆,断点停止控制流,而在将其应用于另一个文件时,断点仅保持为一个圆,不停止控制流。如何获得断点以停止控制流 工作: 不工作:正常,正如您在回复我的评论时提到的,您正在进行远程应用程序调试。因此,问题很可能是服务器和eclipse中的代码版本不同 简而言之,可执行文件似乎没有很好地将其源代码行映射到生成的.java文件源代码行。因此,

在调试模式下对java文件应用断点时,断点不会停止该文件的控制流。但是,断点正在停止同一包中另一个文件上的控制流。 当我在一个文件上应用断点时,断点变为一个带尾部的圆,断点停止控制流,而在将其应用于另一个文件时,断点仅保持为一个圆,不停止控制流。如何获得断点以停止控制流

工作:


不工作:

正常,正如您在回复我的评论时提到的,您正在进行远程应用程序调试。因此,问题很可能是服务器和eclipse中的代码版本不同

简而言之,可执行文件似乎没有很好地将其源代码行映射到生成的.java文件源代码行。因此,在真实源代码中看起来像源代码行的代码在生成的源代码中实际上不可执行,因此它实际上无法维持断点


希望有帮助

请确保您的代码和服务器保持一致,否则将出现此问题。

带尾圆圈:断点已成功设置,因为您的源代码与字节码匹配,调试控件将到达该断点

仅圆圈:源代码与字节代码不同(可能是您正在运行较旧的代码快照)。控件将永远不会到达此断点。您必须更新JAR才能控制这些断点

解决方案:
在远程调试的情况下,这种情况经常发生,您可以通过用构建项目后获得的新jar替换旧jar来解决问题

你能发布这些圆圈的图像吗?你确定没有在断点上停止的代码正在执行吗?尝试添加一个
System.out.println(“测试”)
查看它是否正在执行。另外,如果您发布代码,我们将能够提供更多帮助,请尝试@Craig:我确信代码正在执行,因为它正在打印我添加到代码中的所有日志。只有断点工作不正常。您正在进行远程应用程序调试吗?我的意思是,无论是桌面应用还是网络应用,就像。。检查第二个答案是否合乎逻辑。如何确保代码相同或不同?@qualtar确保在服务器上部署当前war/ear。或者,您可以使用java反编译器进行一些反向工程。从服务器获取类文件,对其进行反编译,并将其与源代码进行比较。虽然反编译后的文件可能与源文件不完全相同,但您仍然可以从中获得价值。确切地说,这是我的问题。如何确保这一点?您应该在编辑、提交、调试代码等之前从svn或git更新客户端代码