如何在IntelliJ IDEA 7中单步执行JDK源代码并查看调试信息?我当前可以点击断点并逐步执行代码,但调试信息不可用.这意味着我无法看到局部变量的值.
我只想逐步完成一个类的源代码,如果这很重要的话.(对于它的价值,它是javax.swing.text.html.HTMLDocument
类(我确实有相应的.java文件的副本).)
如果您查看[文件菜单 - >]设置 - >调试器 - >步进,您将看到一个列表"不要进入这些类",可能在那里列出了"java.*".是这样的吗?你可以把那个转过来.
显然调试信息不可用.根据这个帖子:
遗憾的是,JDK类具有参数的调试信息和剥离的局部变量.
多年前我提交了一个请求,Idea应该从源代码中推断出必要的信息(基本上将变量名称转换为索引到方法本地var):
调试器:没有调试信息时显示变量信息请投票/评论.
作为一种解决方法,您可以从源代码重新编译JDK,但是您需要排除一些没有附加所有必需源代码的类.
有趣的是,您可以下载测试版的Java 6u18,其中包含调试信息(在DEBUG软件包中).
更新:IntelliJ IDEA 13+版本可以提供本地变量信息而无需调试信息.
由于大小和性能原因,编译JDK的Java类没有调试信息.如果您想在这些类中使用调试信息,您需要安装JDK的开发版本,其中使用调试信息构建类,或者在启用调试信息的情况下重建要从源调试的JDK部分并配置在jar中使用这些版本的类的新JDK.
该线程提供了如何使用调试信息从源代码重建rt.jar中的JDK类的说明.
PS此问题并非特定于IntelliJ IDEA.
安装JDK
OSX下载:https://developer.apple.com/downloads
Windows下载地址:http://www.oracle.com/technetwork/java/javase/downloads
添加src.jar路径
转至:项目结构(项目设置)>平台设置> SDKs> Sourcepath
添加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位)
等待很长时间索引!
删除调试器筛选器
转至:设置>调试器>步进
取消选中您想要的包,例如javax.*