JDK在在debug模式下作變量提示功能

一.問題闡述
  首先咱們要明白JDK source爲何在debug的時候沒法觀察局部變量,由於在jdk中,sun對rt.jar中的類編譯時,去除了調試信息,這樣在eclipse中就不能看到局部變量的值。
這樣的話,若是在debug的時候查看局部變量,就必須本身編譯相應的源碼使之擁有調試信息。
要達到這個目的,一是找網上人家已經編譯好的版本,剩下的只能本身去編譯。
下面咱們對於本身編譯提供一個方法,但願對你們有所幫助,若是有什麼問題,請留言。html

二.解決方案
一、選擇或建立你的工做目錄,好比我選擇:E:\
二、在你的工做目錄中,建立文件夾jdk_src,用於存放源碼;建立文件夾jdk_debug,用於輸出編譯結果。
三、從你的機器裝jdk的地方找到src.zip,在你得JDK_HOME能夠找到,好比個人在C:\Program Files\Java\jdk1.7.0_09目錄下。而後把src解壓到jdk_src目錄下。
四、解壓完後,選擇你須要編譯的內容,刪除剩下的。通常選擇以下的幾個文件夾就能夠了:java javax org 這三個目錄就能夠了啊
五、從你的JDK_HOMME\jre\lib中複製rt.jar到你的工做目錄中(即E:\),這樣作的目的可讓你減小在命令行中輸入的文件名。
六、執行以下這條命令:java

dir /B /S /X jdk_src\*.java > filelist.txt

  建立一個叫作filelist.txt的文件,這個文件存放了全部你將要編譯的類的名稱。
七、執行以下的命令:app

javac -J-Xms16m -J-Xmx1024m -sourcepath e:\jdk_src -cp e:\rt.jar -d e:\jdk_debug -g @filelist.txt >> log.txt 2>&1

  這條命令將要編譯全部你指定的文件,並把編譯結果輸出到jdk_debug目錄中,同時產生log.txt日記文件。這個日記文件記錄着編譯警告,可是沒有錯誤。
八、進入到jdk_debug目錄中,輸入以下命令:eclipse

jar cf0 rt_debug.jar *

  這個命令能夠生成咱們須要的rt.jar帶編譯信息的jar包。
九、把這個生成的rt_debug.jar包複製到JDK_HOME\jre\lib\endorsed。若是沒有endorsed目錄,本身建立一下。
十、若是你是在eclipse中debug的。點擊Eclipse上方窗口的Window --> --> Preferences --> Java --> Installed JRES,選擇相應的JDK,點擊Edit,r而後選擇點擊Add External jars,選擇咱們步驟9中目中的rt_debug.jar,就能夠了。.net

注意:若原來的JRE目錄下已經存在了rt.jar包,則要將新編譯的rt_debug.jar的位置在原來的jar包以前,以下圖所示。命令行

如今完成了全部的步驟了,趕快嘗試debug一下,若是能夠查看局部變量了,那麼恭喜你成功了。debug


三.參考文獻
一、http://blog.csdn.net/appleprince88/article/details/21873807
二、debug jdk source can't watch variable what it is 
http://stackoverflow.com/questions/18255474/debug-jdk-source-cant-watch-variable-what-it-is調試

原文鏈接:http://www.cnblogs.com/zjrodger/p/5110538.htmlhtm

相關文章
相關標籤/搜索