当Java代码不同步时,如何调试它?
我遇到的一个问题是我的jar文件和源文件不匹配 我想:当Java代码不同步时,如何调试它?,java,eclipse,Java,Eclipse,我遇到的一个问题是我的jar文件和源文件不匹配 我想: 当源代码和二进制文件不匹配时会收到通知(我认为VisualStudio可以执行类似的操作…) 不是按直线设置断点,而是按函数设置断点。例如,在函数foo()的入口设置断点 我主要使用eclipse;所以eclipse的解决方案是最受欢迎的,但任何IDE(或命令行调试器)都可以。 谢谢 开发时只需使用并链接到IDE保存的.class文件。 如果您的项目开始增长到链接到.jar非常有用的程度,那么最好将jar作为单独的项目处理。调试信息仅限于源
谢谢 开发时只需使用并链接到IDE保存的
.class
文件。
如果您的项目开始增长到链接到
.jar
非常有用的程度,那么最好将jar作为单独的项目处理。调试信息仅限于源文件中的行号。。。我同意警告行是错误的会很好,但这需要jar中比我认为可用的更多的元数据
<>你可能想考虑一下你的构建过程中的变化来应对挑战。这并不能完全回答你的问题,但希望它能给你一个解决潜在问题的策略
在生成用于部署的jar时,还要生成一个包含二进制和源代码的jar。为了研究实时服务器上堆栈跟踪的源代码,在eclipse中设置一个单独的项目,并将binary+源jar放在类路径上。您可能需要显式地将源代码位置设置回同一个jar(尽管我认为Eclipse会自动执行此操作)
然后,在进行部署时,只需将二进制+源jar的复制添加到工作区中的适当位置(最好使用部署脚本)
如果是你的服务器,你可能甚至想考虑将二进制+源jar部署到Live服务器——这样你就永远可以得到源。
< P>使用行断点代替。可以将它们设置为在进入/退出方法时停止。您可以通过双击包含方法声明的行中的左侧编辑器来获得它们。转到Eclipse中的项目选项卡,然后- 单击清理:项目->清理
- 单击自动生成:项目->自动生成