您的位置:首页 > 编程语言 > Java开发

重新编译JDK的src.zip=>rt_debug.jar,使调试可以进入系统类审查变量

2017-03-26 18:55 375 查看

1.问题的出现

       不知道什么时候开始(估计使sun被Oracle收购之后吧)eclipse调试系统类F5进不去了,或者进去不能看到局部变量的值,Oracle这个大龟壳总是担心被别人知道它的代码是怎么逻辑

,rt.jar编译时去除了调试信息,给了源码不能调试,岂不悲乎?Java一向秉承开源的优良传统,Oracle真是个坑货



怎么办呢?我们可以去网上下载带编译信息的rt.jar,但是作为程序员我们怎么能这样?我们要自己动手解决!!!~~~~

2.解决的步骤

1.在D盘创建一个rt_debug目录(在哪都可以,目录叫什么都行,下面操作与之对应即可)
2.把JAVA_HOME/jre/lib/rt.jar复制到rt_debug目录解压
3.把JAVA_HOME/src.zip复制到rt_debug目录解压
4.进入解压后的src目录,保留java、javax、org三个目录,其他删除
5.在src目录中打开cmd命令行窗口,执行:dir /B /S /X jdk_src\*.java > filelist.txt  

这一步创建一个叫做filelist.txt的文件,这个文件存放了所有你将要编译的类的名称

6.创建d:\debug_rt\classes目录

7.在cmd中执行:javac -J-Xms16m -J-Xmx1024m -sourcepath D:\rt_debug\src -cp d:\rt_debug\rt.jar  -d
d:\debug_rt\classes -g @filelist.txt

8.cmd进入d:\debug_rt\classes目录,执行:jar cf0 rt_debug.jar * 

9.把这个生成的rt_debug.jar包复制到JAVA_HOME\jre\lib里面

10.如果你是在eclipse中debug的。点击Window->Installed JRES,选择相应的JDK,点击Edit,r然后选择点击Add External jars,选择我们步骤9中目中的rt_debug.jar(位置在rt.jar之上),就可以了



赶紧Debug一下,试一试,你就可以开心的看源码,提升自我了




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐