通过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的。
- 安装JDK
- OSX下载: https : //developer.apple.com/downloads
- Windows下载: http : //www.oracle.com/technetwork/java/javase/downloads
- 添加src.jarpath
- 转到:项目结构(项目设置)>平台设置> SDK>源path
- 将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位)
- 等待很长时间索引!
- 删除debugging器filter
- 转到:设置>debugging器>步进
- 取消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信息编译。
- 本地主机嗅探器(Windows操作系统)
- Android Studiodebugging器强调错误的行
- 为什么Android Studio如果没有debugging就说“等待debugging器”?
- 在Eclipse中进行Android NDKdebugging – 如何停止只在使用本机代码时才会出现的segfaults / SIGILL
- 如何在Xcodedebugging器中查看NSDictionaryvariables的内容?
- 通过Wi-Fi运行/安装/debuggingAndroid应用程序?
- Chromedebugging – 打开下一个点击事件
- Chrome开发工具:来自JavaScript的文件
- 如何debuggingWindows服务?