Contents1调试JDK源码刨根问底探索分析Contents最近想要直接调试下的源码却发现有些变量不能显示,像这样:其原因是因为中的在的时候没有附带调试信息。所以解决这个问题的思路是这样的:重新编译你想要调试的类javac -g将带调试信息的类覆盖原来的重新进行调试实际上,在中操作起来可能比较简单,可以分为以下几步:将的源码从中拷贝出来,例如将源码解压,并将其中javajavax两个文件夹拷贝到一个空的工程中编译源码,默认设置编译是包含了调试信息的。编译完成之后,将其导出到包中。将导出的包(比如说放入到$JAVA_HOME/jre/lib/endorsed文件夹下面即可。如果这个目录不存在,手动创建一下。重新进行调试即可。 Contents2事实上,这里利用了endorsed-standards override mechanism这一个特性来重载了的类,这个特性已经在中被了,但是中仍然可用。