【问题标题】:.class file opens instead of .java while debugging调试时打开 .class 文件而不是 .java
【发布时间】:2012-07-18 11:23:16
【问题描述】:

当前设置:

  • MainProject 这是一个图书馆项目

  • BranchProject 这是一个新项目,以 MainProject 作为参考

每当我调试并且来自 MainProject 的文件成为焦点时(实际上 BranchProject 只有图形和 xml 布局更改),调试窗口就会打开一个只读的 .class 文件。我希望它打开 .java 文件,以便我可以直接编辑它。

【问题讨论】:

标签: eclipse


【解决方案1】:

Skyler 在这篇文章中的回答对我有用: Opening source code from debug view edits .class after Android R18 update

这里是一个摘要: 修复方法是右键单击调试视图中的项目名称,然后从菜单中选择“编辑源查找...”。从那里删除默认查找路径。之后,手动添加项目引用的关联项目(不是 jar)。这是通过单击添加,选择 Java 项目,然后检查适当的项目来完成的。

【讨论】:

  • 以防万一有人找不到“编辑源查找”,它会在您调试时出现并显示堆栈跟踪,您可以在其中看到“终止”、“重新启动”等选项。
  • 您也可以进入“调试配置”并选择“源”选项卡,然后您可以看到“源查找路径”
【解决方案2】:

当您使用库项目时,您实际上正在做的事情之一是将您的库项目编译成一个 jar,然后在您的调用项目中引用该 jar。

如果您右键单击项目,然后选择“配置构建路径”,您将看到一个名为“库”的选项卡,如果您查看“Android 依赖项”,您会注意到与您的库项目对应的 jar 列表。

这些 jar 是可扩展的,向您展示它们有一个用于源附件的插槽。通常这将是可编辑的,允许您直接链接源,但就 ADT 而言,这些已填充且不可编辑。

在调试这些文件时,您会链接到带有此附加源的只读类文件。这是因为您不是直接针对源文件运行,而是针对预编译的类文件运行。在 ADT 团队获得此功能之前,您几乎不得不跳到直接源代码并重新构建所有内容。

编辑

查看@Steven 链接的答案:)

【讨论】:

  • 现在有一种附加来源的方法 - 请参阅下面的@Steven 的回答
【解决方案3】:

我在使用 Eclipse IDE 调试 .java 文件时遇到了同样的问题。据我了解,当我们将xyz.java 文件或JARxyz.class 文件放在项目构建路径中时,就会出现此问题。从项目类路径中删除.classJAR文件,并在调试模式下重新运行.java文件。这次您会看到一个未找到源的窗口。单击“未找到源”按钮并选中窗口底部的“查找重复项...”。你的问题解决了:)

【讨论】:

    【解决方案4】:

    问题是类文件优先于 java(默认情况下),这里是如何为 Eclipse 更改它(在 NEON 2 上测试):

    1. 在 Project-Explorer 中右键单击 Project,点击 Properties
    2. 在新窗口中选择:运行/调试设置
    3. 创建新配置(或复制另一个)
    4. 选择新配置并点击编辑...
    5. 转到标签来源
    6. 选择默认删除
    7. 使用 Add... 创建一个新路径,选择 Java Library,然后选择 JRE System Library
    8. Add...新建路径,通过Workspace文件夹(如果是同一个workspace中的项目)或File选择sourcecode所在的位置系统目录(不是)

    【讨论】:

      【解决方案5】:

      我认为这取决于您如何在 Eclipse 中设置依赖项。您应该将 BranchProject 设置为依赖于 MainProject 的源文件。如果你依赖 compiles Class-Files 很明显调试器会打开类文件,因为它不知道源文件。

      【讨论】:

        【解决方案6】:

        我在这里找到了一个很好的解决方案:

        Using Android library in eclipse and jumping to class files instead of source file that is within eclipse workspace

        只需选择您的项目所依赖的每个库项目,然后使用 Top 或 Up 将其移动到项目输出上方。例如。将所有库项目移至顶部。

        【讨论】:

          【解决方案7】:
          1. 打开main project properties -> Java Build Path -> Projects 选项卡并添加主项目所依赖的项目。
          2. 切换到Order and Export 选项卡并取消选中Android Dependencies
          3. 享受

          【讨论】:

            【解决方案8】:

            如果您尝试了以上所有提示,但仍然无法正常工作,请尝试此解决方案,它对我有用:

            1. 在Package-Explorer中右键项目,点击Build Path -> Configure Build Path...
            2. 选择选项卡订购和导出
            3. 选择您无法访问代码的库,然后单击底部按钮
            4. 然后点击应用并关闭

            希望对你有帮助

            【讨论】:

              【解决方案9】:

              大多数情况下,当特定的源文件夹未添加到构建路径的“源”选项卡中时。

              在Package-Explorer中右键项目,点击Build Path -> Configure Build Path -> Source Tab

              如果您的项目源文件夹不存在,请添加源文件夹。 选择添加文件夹 -> 选择您的项目源文件夹。例如: project_name/src 。然后应用它并重新启动服务器。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2011-08-12
                • 1970-01-01
                • 2015-07-11
                • 1970-01-01
                • 1970-01-01
                • 2014-09-05
                • 2018-07-24
                • 1970-01-01
                相关资源
                最近更新 更多