eclipse 调试jdk源码class文件,变量没法显示问题

调试jdk源码时,变量没法显示提示说“key cannot be resolved to a variable”,为何呢?由于在JDK中,sun对rt.jar中的类编译时,去除了调试信息。java

解决方法以下app

注意:若是你要编译jdk1.8的源码,若是与系统环境变量jdk版本不一致,会产生以下错误eclipse

错误: 程序包已存在于另外一个模块中: java.desktop package java.applet;debug

1.在你的D:盘新建jdk1.8_source文件夹(个人目录D:\jdk\jdk1.8_source),而后在文件夹里面分别建立两个文件夹jdk_src(存放源码)和jdk_debug(存放编译结果文件)。调试

2.从%JAVA_HOME%路径下找到src.zip源码源码压缩包,解压至D:/jdk/jdk_src目录中,并只保留javajavax,org三个文件夹。code

3.从%JAVA_HOME%\jre\lib找到rt.jar,将它拷贝到D:/jdk文件夹。blog

4.打开DOS命令窗口,用命令cd命令进入D:/jdk文件夹,而后执行命令dir /B /S /X .\jdk_src\*.java > .\filelist.txt,完成后会在D:/jdk目录生成filelist.txt文件,里面为待编译的文件路径*/*.javaip

5.执行命令javac -J-Xms16m -J-Xmx1024m -sourcepath .\jdk_src -cp .\rt.jar -d .\jdk_debug -g @.\filelist.txt >> .\log.txt 2>&1会编译filelist.txt文件中列出的*.java源文件,编译的*.class文件会放入D:/jdk/jdk_debug文件夹,同时编译过程当中会在D:/jdk生成log.txt文件。源码

6.执行cd命令切换到D:/jdk/jdk_dug,而后执行jar cf0 rt_debug.jar **.class文件打成jar,打包完成后会在D:/jdk/jdk_debug目录中生成rt_debug.jarit

7.把这个生成的rt_debug.jar包复制到%JDK_HOME%\jre\lib\endorsed下。若是没有endorsed目录,本身建立一下。

8.在eclipse里面找到Window->Installed JRES,选择jdk,点击Edit,而后点击Add External jars,选择刚才建立的rt_debug.jar导入,而后把rt_debug.jar移动到rt.jar的前面,最后选中rt_debug.jar,点击Source Attachment选择%JAVA_HOME%/jdk/src.zip添加源文件。

相关文章
相关标签/搜索