Eclipse調試JDK源碼看不到變量

問題效果圖:


解決後的效果:


具體步驟:

1.製作可調試的rt.jar包

1.1 .在D盤新建jdk7_src及jdk7_rt-debug兩個文件夾


1.2.複製JDK源碼

將環境變量中配置的java_home地址或者將用的外部JDK安裝目錄下的src.zip

複製到D:/jdk7_src,解壓.效果如下圖




1.3.選擇要編譯的源碼

原文中說,留下java,javax,org三個文件夾就足夠了,其他都可以刪除。

我只是把swing的內容刪除了,其他都留下了。大夥可以隨意。

swing包目錄位置:com\sun\java\swingjavax\swing 


注意:不刪除這兩個的話,編譯的時候會報錯


1.4.得到要處理的java文件名

命令及效果圖如下:

要查看一下,自動生成的filelist.txt中是否有內容哦,沒有數據的話下面的操作是沒用的。

[plain] view plain copy
  1. D:  
  2. cd D:\jdk7_src  
  3. dir /B /S /X *.java > filelist.txt  


1.5.複製jre/lib/rt.jar

把JDK安裝目錄(複製src.zip的那個目錄)下jre/lib下的rt.jar複製到jdk7_src目錄下


1.6.生成一些可調試的class文件夾

執行如下命令,成功後,jdk7_rt-debug文件夾會產生一些可調試的class文件夾,如下圖:

如果沒有,請打開jdk7_src/log.txt,ctrl+F查找“錯誤”,並解決。

一般,將報錯的java路徑及路徑對應的文件刪除,再執行dir /B /S /X *.java > filelist.txt即可。

[plain] view plain copy
  1. javac -J-Xms16m -J-Xmx1024m -sourcepath D:\jdk7_src -cp D:\jdk7_src\rt.jar -d D:  
  2. \jdk7_rt-debug -g @filelist.txt >> log.txt 2>&1

這一步的時候很多會報錯



命令加上-Xlint:deprecation  -Xlint:unchecked 

如果有錯,一般是Swing包報的,刪除com\sun\java\swingjavax\swing  重新執行命令生成filelist.txt文件





1.7.將這些文件打包成Jar

命令和效果如下圖

[plain] view plain copy
  1. cd ..  
  2. cd jdk7_rt-debug  
  3. jar cf0 rt_debug.jar *  


2.使用可調試的rt.jar

2.1.把rt_debug.jar放入JDK中

放入java_home/jre/lib/endorsed目錄


2.2.將rt_debug.jar加入Eclipse使用的JDK中



2.3.添加rt_debug.jar的源碼包



2.4.開始debug吧,你成功了!!


記得刪除swing代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章