当我在 Eclipse 中调试我的代码时,当我打开编辑器发现我无法编辑它时,我很生气,因为我实际上正在查看 .class 文件的源代码。在调试模式下,如何让 Eclipse 打开 .java 文件而不是 .class 文件?
编辑:当我在代码中遇到断点时,它会将我带到 MyFile.class,而不是 MyFile.java,所以我可以看到我的代码但不能编辑它。
编辑:我猜它与 Android 和 ADT R18 有关
在我终于找到了一些时间和充分的理由来更深入地研究这个问题之后,我将详细说明 Thornbjorn 的回答。
最近,Google 改变了您的 Android 项目打包外部 Android 库的方式。在 ADT R17(我认为)中,它开始将外部项目源打包到 .jar 文件中,并将它们直接包含到您的项目中的 Android Dependencies 或 /libs 文件夹中。
现在,当调试器遇到断点时,它会在 .jar 中显示您的源代码,本质上是告诉您编辑 .class 文件。问题是这个文件是只读的,所以你必须手动去寻找你的 .java 源代码。(疼痛)
修复方法是在调试视图中右键单击项目名称,然后从菜单中选择“编辑源查找...”。从那里删除默认查找路径。之后,手动添加项目引用的关联项目(不是 jar)。这是通过单击添加,选择 Java 项目,然后检查适当的项目来完成的。
好的,所以我讨厌成为“那个人”,考虑到这对多少人有用,但这对我来说根本不起作用。我的意思是“编辑源查找...”菜单项不在上下文菜单中。我没有错过在 Debug Perspective 中执行此操作的指令(大概在 Debug Perspective 的 Project Explorer 中)。我在应用程序运行和应用程序暂停时尝试了它。我尝试检查应用程序项目的菜单(大概是说明所指的内容)和库项目的菜单。没有骰子。这是最新的 Eclipse 版本。
但是,我能够解决这个问题:
main project properties -> Java Build Path -> Projects
选项卡并添加主项目所依赖的项目。Order and Export
选项卡并取消选中Android Dependencies
出于某种原因,Eclipse 不相信类文件来自您的 Java 文件。这通常是错误配置的构建路径,或使用 jar 文件而不是生成 jar 文件的项目。
查看项目管理器面板(<->
按钮)以查看 Eclipse 在何处找到类文件,然后找出为什么它使用该位置而不是您的项目与源文件。