2011-11-21 57 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