在eclipse的Windows-Preferences-Java-Installed JRE下,選擇安裝的jdk,點edit,然後在列出的jre system libraries列表中選擇rt.jar,設置其中的Source attachment爲C:\java\jdk1.6.0_10\src.zip(你的jdk安裝目錄)。
此時我們再做調試,就會發現關聯到源碼了,如下圖所示:
以上顯示的是進入java.util.HashSet的add方法當中的調試情況,但問題又來了,注意到下方的Variable變量顯示欄,裏面只有三個變量this,arg0,arg1。arg*對應到方法參數的值,但對於局部變量int
hash和int i,我們無法看到它的值,這種情況往往給我們的調試帶來不便。
爲什麼會出現這種情況呢?感興趣的可以參考這個貼子:http://hllvm.group.iteye.com/group/topic/25798。
問題怎麼解決呢?我們需要一個debug版本的jdk,有兩種途徑:自己編譯debug版本的jdk,或直接從網上下載。
基於jdk源碼編譯生成jdk的過程十分複雜,有興趣的可以去了解,如果嫌繁瑣的話,可以直接去官方下載debug版本的jdk,http://download.java.net/jdk6/6u25/promoted/b03/index.html。
此時我們將jdk替換爲fastdebug,重新調試,如下圖所示:
此時我們在variable一欄可以清楚地看到局部變量名了。