1.背景
eclipse调试jdk自带的rt.jar中的代码时,不能看到方法参数或局部变量的值。
这是因为oracle发布的jdk正式版中去掉了代码中的调试信息。所以要想在平时的工作中调试rt.jar中的代码,就必须要重新编译rt.jar。
2.步骤
- 创建目录:rt_debug(如: F:\rt_debug)
- 把JAVA_HOME/src.zip复制到rt_debug中并解压,并只保留java、javax、org三个目录(三个常用的完全够了)
- 把JAVA_HOME/jre/lib/rt.jar复制到rt_debug中
- DOS中:cd F:\rt_debug
- dir /B /S /X *.java > files.txt(在rt_debug目录下创建files.txt,保存所有的.java文件)
- 创建F:\rt_debug\classes目录
- DOS中:javac
-J-Xms16m -J-Xmx1024m -sourcepath . -cp ./rt.jar -d ./classes -g @files.txt(重新编译,并放入classes目录中) - DOS中:cd classes
- DOS中:jar cf0 rt_debug.jar *(把编译后的文件重新打成jar包)
- 把rt_debug.jar放入JAVA_HOME/jre/lib中
- eclipse中选择Installed JRES,选择相应的JDK,点击Edit,然后选择点击Add External jars,选择rt_debug.jar,UP到rt.jar之上
时间: 2024-10-13 21:47:59