通过IntelliJ IDEA中的JDK源代码

如何在IntelliJ IDEA 7中浏览JDK源代码并查看debugging信息? 我目前可以打破断点并逐步执行代码,但是debugging信息不​​可用。 这意味着我看不到局部variables的值。

如果有问题的话,我只想通过一个类的源代码。 (值得一提的是javax.swing.text.html.HTMLDocument类(我有一个相应的.java文件的副本)。)

如果你在[文件菜单 – >]设置 – >debugging器 – >步进,你会看到一个列表“不要进入这些类”,可能与“java。*”在那里列出。 是这样吗? 你可以把它关掉。

显然debugging信息不​​可用。 根据这个线程 :

不幸的是,JDK类有参数和本地variables的debugging信息被剥离。

几年前,我提出了一个请求,即Idea应该从源代码中推导出必要的信息(基本上将variables名称转换为索引到local var):
debugging器:当没有debugging信息时显示variables信息

请投票/评论。

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

有趣的是,你可以下载testing版本的Java 6u18,它有debugging信息 (在DEBUG包中)。

更新 :IntelliJ IDEA 13+版本可以提供没有debugging信息的本地variables信息 。

由于大小和性能的原因,作为JDK一部分的Java类被编译时没有debugging信息。 如果您需要这些类中的debugging信息,则需要安装开发版本的JDK,其中类是使用debugging信息构build的,或者在启用debugging信息的情况下重新构build要从源代码debugging的JDK的各个部分带有这些版本的jar的新JDK。

此线程提供了如何使用debugging信息从源代码重buildrt.jar中的JDK类的说明。

PS这个问题不是特定于IntelliJ IDEA的。

  1. 安装JDK
    • OSX下载: https : //developer.apple.com/downloads
    • Windows下载: http : //www.oracle.com/technetwork/java/javase/downloads
  2. 添加src.jarpath
    1. 转到:项目结构(项目设置)>平台设置> SDK>源path
    2. 将path添加到src.jar
      • OSX示例:/Library/Java/JavaVirtualMachines/1.6.0_45-b06-451.jdk/Contents/Home
      • Windows示例:C:\ Program Files \ Java \ jdk1.7.0_03(检查程序(x86)为32位)
    3. 等待很长时间索引!
  3. 删除debugging器filter
    1. 转到:设置>debugging器>步进
    2. 取消select你想要的软件包,例如javax。*

除了“不要进入这些类”信息之外,还应该configurationsrc.jar。 右键单击该项目,select“打开模块设置”。 在平台设置下,select“SDK”。 select您正在使用的Java SDK版本。 selectSourcepath选项卡,点击“+”button,并从JDK(或单独的OSX JDK下载源代码)添加src.jar。 这将使您可以打开JDK类并在debugging时进入它们。

我在我的Mac上做了这个,以获得我的Android源代码,但类似的方法应该为你工作。

  • 文件>项目结构

  • 在“平台设置”下select“SDK”。

  • 选中“Android SDK”

  • select“源path”选项卡

  • 按下“+”

  • 浏览到我的Java源代码的位置

设置 – 编译器 – java编译器 – java选项,你应该检查选项“生成debugging信息”,然后,它将用debugging信息编译。