重新编译JDK的src.zip=>rt_debug.jar,使调试可以进入系统类审查变量
2017-03-26 18:55
375 查看
1.问题的出现
不知道什么时候开始(估计使sun被Oracle收购之后吧)eclipse调试系统类F5进不去了,或者进去不能看到局部变量的值,Oracle这个大龟壳总是担心被别人知道它的代码是怎么逻辑![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/titter.gif)
,rt.jar编译时去除了调试信息,给了源码不能调试,岂不悲乎?Java一向秉承开源的优良传统,Oracle真是个坑货
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/curse.gif)
。
怎么办呢?我们可以去网上下载带编译信息的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一下,试一试,你就可以开心的看源码,提升自我了
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
相关文章推荐
- 重新编译src.zip方便调试JDK
- 解决Debug JDK source 无法查看局部变量的问题方案(重新编译rt.jar包)
- 设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的值
- # include <errno.h >查看错误代码errno是调试程序的一个重要方法。当Linux C API函数发生异常时,一般会将errno变量赋值一个整数,不同的值表示不同的含义,可以通过查看
- 编译android4.0出现jdk版本问题 & 服务器系统变量配置
- android编译时没有规则可以创建“out/target/common/obj/APPS/CalculatorTests_intermediates/classes-full-debug.jar”问
- JDK源码重新编译——支持eclipse调试JDK源码--转载
- 设置JDK环境变量时,lib中dt.jar、tools.jar和jre\lib中的rt.jar的作用
- ubuntu错误配置jdk环境变量,导致无法进入系统解决方案
- Android系统移植与调试之------->MTK 标准编译命令
- 调试、编译开发环境Openfire_src_3_5_1.zip源代码编译与用户管理(1)
- 编译android内核和文件系统,已经安装jdk,提示build/core/config.mk:268: *** Error: could not find jdk tools.jar
- 编译android内核和文件系统,已经安装jdk,提示build/core/config.mk:268: *** Error: could not find jdk tools.jar
- 设置jdk环境变量时lib中的rt.jar ,dt.jar ,tool.jar作用是什么?
- 添加交叉编译工具进入系统的环境变量
- Android系统移植与调试之------->Amlogic方案编译步骤
- [置顶] Android系统移植与调试之------->Amlogic方案编译步骤
- 设置jdk环境变量时lib中的rt.jar ,dt.jar ,tool.jar是什么,作用是什么
- JDK设置环境变量(classpath)时:dt.jar ,tool.jar,rt.jar的作用
- 设置jdk环境变量时lib中的rt.jar ,dt.jar ,tool.jar是什么 ,作用是什么