jdk學習之如何調試jdk


 

 

       自從sun被oracle收購后,在oracle下載的jdk使用F5進入調試jdk的方法就不行了,這對於想看jdk的源碼的小伙伴是一個暴擊(oracle在編譯rt.jar時去除了調試信息);

這不得不鼻屎oracle違背了java開源的初衷,雖然oracle去除了rt.jar的調試信息,我們還是可以下載帶調試信息的rt.jar去替換,

當然我們自己也可以生成帶調試信息的rt.jar,以下是生成步驟及使用方法;

  1、在c盤創建目錄  C:\aiqing\tools\debugjdk\rt_debug;(這里在哪個盤符創建目錄及目錄名是什么沒限制,要與下面的步驟對應就ok)

  2、把JAVA_HOME\jre\lib下的rt.jar復制到rt_debug目錄解壓;

  

  3、把JAVA_HOME\src.zip復制到rt_debug目錄解壓(src.zip就是jdk的源碼)

  4、進入解壓后的src目錄,保留java、javax、org三個目錄,其他刪除

  5、在src目錄中打開cmd命令行執行dir /B /S /X  C:\aiqing\tools\debugjdk\rt_debug\src\*.java > filelist.txt (這一步創建一個叫做filelist.txt的文件,這個文件存放了所有你將要編譯的類的名稱)

  6、創建C:\aiqing\tools\debugjdk\debug_rt\classes文件夾 (java、Javax、org三個源代碼編譯后存放路徑)

  7、編譯src下的源代碼 javac -J-Xms16m -J-Xmx1024m -sourcepath C:\aiqing\tools\debugjdk\rt_debug\src -cp C:\aiqing\tools\debugjdk\rt_debug\rt.jar  -d C:\aiqing\tools\debugjdk\debug_rt\classes -g @filelist.txt

  8、cmd進入C:\aiqing\tools\debugjdk\debug_rt\classes目錄,執行: jar cf0 rt_debug.jar * ;這步會生成一個rt_debug.jar

  

  9、把這個rt_debug.jar包復制到JAVA_HOME\jre\lib下

  10、把JAVA_HOME加入到eclipse中,eclipse點擊window->preferences->Installed JREs,選擇相應JDK,然后點擊Add External JARs...,選擇我們步驟9中添加的rt_debug.jar(位置在rt.jar之上)。

  

  11、鏈接rt_debug.jar的源碼JAVA_HOME\src.zip(rt_debug也是用的src.zip中的jdk源碼)

  

  12、ok,接下去就可以在jdk中遨游了。

  

  

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com