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之上