This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Whenever a watch is created, either by the ToolTipAnnotation or by creating a fixed watch, a DelegatingWatch is created. However, the DelegatingWatch never gets removed from the Validator. For instance, if you highlight a particular variable to display it's value 'n' times, that variable is validated 'n' times. Additionally, the Validator holds a reference to these DelegatingWatches even after the IDE has been shutdown. This causes several problems: continuous adding of variables to validation; variables from another debugging session are being validated that aren't even valid for the source file; time and memory wasted. I first found this while implementing my own debugger and thought that I was missing something. However, debugging Java files has the same problem. I'm running NB 3.4.1, JDK 1.4.1_01, Win2K.
I have found some memory lead in TreeTable - this is probably the problem...
No, problem was in ToolTipAnnotation class. fixed in the main trunk
That is a nice catch. I wonder what the implications will be? Perhaps related to those who have frustration with debugging speed?
I'm just glad that it was such an easy thing to find and fix. I can only imagine the impacts on speed that have been seen as more and more watches are added to the validation. Thanks. It's working great for me now.
dnoyeB: I do not have performance data, but it should help. Unfortunatelly there is one more memory-leak: 31275 And its worser. But good thing is that its identified and MUST be fixed to nb3.5. So it should fix problem, that each new debuggins session is slower and slower.
The changes in ToolTipAnnotation correctly fixed the validation of Watch variables.