逐步浏览 IntelliJ IDEA 中的 JDK 源代码

2022-08-31 16:58:48

如何逐步浏览 IntelliJ IDEA 7 中的 JDK 源代码并查看调试信息?我目前可以命中断点并单步执行代码,但调试信息不可用。这意味着我看不到局部变量的值。

如果这很重要,我只想逐步浏览一个类的源代码。
就其价值而言,它是类,我确实有相应文件的副本。javax.swing.text.html.HTMLDocument.java


答案 1

如果你在[文件菜单->]设置->调试器->步进中查看,你会看到一个列表“不要单步执行这些类”,可能在那里列出了“java.*”。事实果真如此吗?你可以在那里关闭它。

显然,调试信息不可用。根据这个线程

可悲的是,JDK类具有参数和局部变量的调试信息。

几年前,我提出了一个请求,要求Idea应该从源代码中推断出必要的信息(基本上将变量名称转换为索引到方法局部var中):
调试器:在没有调试信息时显示变量信息

请投票/评论。

作为一种解决方法,您可以从源代码重新编译JDK,但您需要排除一些没有附加所有必需源代码的类。

有趣的是,您可以下载 Java 6u18 的 beta 版本,其中包含调试信息(在 DEBUG 捆绑包中)。


答案 2

更新:IntelliJ IDEA 13+版本可以提供局部变量信息,而无需调试信息

作为 JDK 一部分的 Java 类在编译时由于大小和性能原因而没有调试信息。如果要在这些类中安装调试信息,则需要安装 JDK 的开发版本,其中的类是使用调试信息构建的,或者重新生成要从源代码调试的 JDK 部分,并启用调试信息,并使用这些版本的类在 jar 中配置新的 JDK。

此线程提供有关如何在 rt.jar 中通过调试信息从源代码重建 JDK 类的说明。

附言:这个问题不是IntelliJ IDEA所特有的。