2011-11-21 34 views
0

在調試過程中,我需要檢查JDK內部的變量,比如說像JTextField,JEditorPane或任何其他類型的swing控件的類。
調試器步入這些類代碼,但是當將鼠標指針移到局部變量上時,它會給出消息「xxx在當前上下文中不是已知變量」。

我肯定有一個錯誤的調試配置條目,但我不知道是哪一個:-)。Netbeans debug jdk

(我的NetBeans的版本是6.9,但可能這個問題是不是版本有關)

回答

2

JRE類與調試信息關閉,因此你不會看到任何局部變量,同時通過源步進編譯。這是出於性能/大小原因而完成的,但如果您需要在調試時查看本地變量,則可以重新編譯JRE類。

請參閱Javalobby上的this thread以獲取關於重新編譯包含調試信息的JRE類的信息。

追問:使用你選擇的一種方式JDK是讓你的「常規」 JDK的副本,並把修改後的rt.jar副本里面,那麼你可以添加Java平臺,NetBeans和使用修改後的JDK進行開發。要將其他Java平臺添加到NetBeans,請單擊Tools > Java Platforms菜單項,然後單擊Add Platform...按鈕並瀏覽到修改後的JDK文件夾,併爲其指定一個名稱,如JDK 6 With Debug Symbols

您需要通過右鍵單擊項目來更改項目使用的Java平臺,然後選擇Properties > Libraries,然後使用Java Platform組合框選擇修改後的JDK。

+0

好的,你有關於如何將新的rtWithDebug.jar添加到NetBeans的聰明想法? – AgostinoX

+0

請參閱我的編輯方法來完成此操作。 –

+0

謝謝。但是我堅持源編譯,我已經打開這個問題:http://stackoverflow.com/questions/8226009/compile-jdk-via-ant。實際上src.zip不包含所有需要的類和我最後得到一個rt_with_symbols.jar,這取決於rt.jar ...我正在嘗試這個jdk平臺,但我認爲它不會工作。 – AgostinoX

相關問題