【问题标题】:Eclipse debug issue with class Java API in rt.jarrt.jar 中类 Java API 的 Eclipse 调试问题
【发布时间】:2019-02-23 15:49:36
【问题描述】:

我遇到了 Eclipse 调试问题。首先,我执行的步骤如下:

  • 我安装了 Eclipse Photon
  • 我安装了 Eclipse 颜色主题插件
  • 我更新了格式设置
  • 我安装了增强类反编译器插件。

我已经配置了最后一个插件,只编辑文件关联,将类反编译器查看器设置为默认的文件类型,包括没有源的 .class 和 .class。

现在如果我在 rt.jar 中打开一个 Java API 类作为 SimpleFormatter,反编译器会向我显示反编译的源代码(我知道这只是基于使用的反编译器的表示,在我的情况下我使用 JD-Core )。但是,我不能在这段代码上应用任何断点,所以我不能调试这个我知道它被使用的类。我什至不能在类方法上设置断点。 我以前可以设置断点,但是当我运行调试时它给了我一个错误,例如“无法安装断点...”。

具体来说,我想调试Java API的jar文件中的类源代码,例如调试之前的类。你知道我该怎么做吗? 谢谢:)

【问题讨论】:

    标签: java eclipse debugging decompiler


    【解决方案1】:

    JRE 中包含的 jars 是在没有调试信息的情况下编译的,这意味着调试器没有关于执行的行的任何信息。 如果要调试该 jar 中包含的类,则必须下载源代码并使用“-g”选项进行编译

    【讨论】:

    • 或者使用JDK。
    • 绝对@nitind
    • 好的,很好。所以我必须用我编译调试的文件替换 rt.jar 文件?由于这些类是 Java API 的一部分,我该如何替换这些类?
    • 您可以替换 jar 文件,或者如 nitid 所说,您可以使用 jdk 代替 jre。 jdk中相同的jar包是用-g选项编译的,所以你可以用它来调试。
    • 在eclipse中你可以在window>preferences>java>installed jre中配置jdk。然后配置您的运行时以使用 jdk。
    【解决方案2】:

    我发现这是最新版本的 Eclipse 中出现的错误。具体来说,是 Eclipse 和 Enanched Class Decompiler 之间的一个错误。我使用以前版本的 Eclispe 解决了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-22
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2011-04-26
      • 2016-06-27
      相关资源
      最近更新 更多