转:http://blog.csdn.net/cherrycheng_/article/details/51004386 java
原英文地址:http://stackoverflow.com/questions/18255474/debug-jdk-source-cant-watch-variable-what-it-isspa
将环境变量中配置的java_home地址或者将用的外部JDK安装目录下的src.zip.net
复制到D:/jdk7_src,解压.效果以下图debug
原文中说,留下Java,javax,org三个文件夹就足够了,其余均可以删除。调试
我只是把swing的内容删除了,其余都留下了。大伙能够随意。code
swing包目录位置:com\sun\java\swing,javax\swing blog
命令及效果图以下:ip
要查看一下,自动生成的filelist.txt中是否有内容哦,没有数据的话下面的操做是没用的。get
d:
cd jdk7_src
dir /B /S /X *.java>filelist.txt
把JDK安装目录(复制src.zip的那个目录)下jre/lib下的rt.jar复制到jdk7_src目录下源码
执行以下命令,成功后,jdk7_rt-debug文件夹会产生一些可调试的class文件夹,以下图:
若是没有,请打开jdk7_src/log.txt,ctrl+F查找“错误”,并解决。
通常,将报错的java路径及路径对应的文件删除,再执行dir /B /S /X *.java > filelist.txt便可。
javac -J-Xms16m -J-Xmx1024m -sourcepath D:\jdk7_src -cp D:\jdk7_src\rt.jar -d D: \jdk7_rt-debug -g @filelist.txt >> log.txt 2>&1
命令和效果以下图
cd .. cd jdk7_rt-debug jar cf0 rt_debug.jar *
放入java_home/jre/lib/endorsed目录
注意:若原来的JRE目录下已经存在了rt.jar包,则要将新编译的rt_debug.jar的位置在原来的jar包以前,以下图所示。