在调试期间,我需要检查JDK中的变量,比如像JTextField,JEditorPane这样的swing控件的类,或者什么。
调试器进入这些类代码,但是当将鼠标指针移动到局部变量上时,它会给出消息“ xxx不是当前上下文中的已知变量”。
我肯定是一个错误的调试配置条目,但我猜不出哪一个: - )。
(我的NetBeans版本是6.9,但可能这个问题与版本无关)
答案 0 :(得分:2)
JRE类是在调试信息关闭的情况下编译的,因此在单步调试源时不会看到任何局部变量。这是出于性能/大小原因而完成的,但如果您需要在调试时查看局部变量,可以重新编译JRE类。
有关重新编译包含调试信息的JRE类的信息,请参阅Javalobby上的this thread。
跟进:使用备用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。