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