eclipse 調試jdk源碼class文件,變量沒法顯示問題

調試jdk源碼時,變量沒法顯示提示說「key cannot be resolved to a variable」,爲何呢?由於在JDK中,sun對rt.jar中的類編譯時,去除了調試信息。java

解決方法以下app

注意:若是你要編譯jdk1.8的源碼,若是與系統環境變量jdk版本不一致,會產生以下錯誤eclipse

錯誤: 程序包已存在於另外一個模塊中: java.desktop package java.applet;debug

1.在你的D:盤新建jdk1.8_source文件夾(個人目錄D:\jdk\jdk1.8_source),而後在文件夾裏面分別建立兩個文件夾jdk_src(存放源碼)和jdk_debug(存放編譯結果文件)。調試

2.從%JAVA_HOME%路徑下找到src.zip源碼源碼壓縮包,解壓至D:/jdk/jdk_src目錄中,並只保留javajavax,org三個文件夾。code

3.從%JAVA_HOME%\jre\lib找到rt.jar,將它拷貝到D:/jdk文件夾。blog

4.打開DOS命令窗口,用命令cd命令進入D:/jdk文件夾,而後執行命令dir /B /S /X .\jdk_src\*.java > .\filelist.txt,完成後會在D:/jdk目錄生成filelist.txt文件,裏面爲待編譯的文件路徑*/*.javaip

5.執行命令javac -J-Xms16m -J-Xmx1024m -sourcepath .\jdk_src -cp .\rt.jar -d .\jdk_debug -g @.\filelist.txt >> .\log.txt 2>&1會編譯filelist.txt文件中列出的*.java源文件,編譯的*.class文件會放入D:/jdk/jdk_debug文件夾,同時編譯過程當中會在D:/jdk生成log.txt文件。源碼

6.執行cd命令切換到D:/jdk/jdk_dug,而後執行jar cf0 rt_debug.jar **.class文件打成jar,打包完成後會在D:/jdk/jdk_debug目錄中生成rt_debug.jarit

7.把這個生成的rt_debug.jar包複製到%JDK_HOME%\jre\lib\endorsed下。若是沒有endorsed目錄,本身建立一下。

8.在eclipse裏面找到Window->Installed JRES,選擇jdk,點擊Edit,而後點擊Add External jars,選擇剛纔建立的rt_debug.jar導入,而後把rt_debug.jar移動到rt.jar的前面,最後選中rt_debug.jar,點擊Source Attachment選擇%JAVA_HOME%/jdk/src.zip添加源文件。

相關文章
相關標籤/搜索