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.
Summary: | Debugger algorithm for finding sources should use GlobalPathRegistry as a fallback | ||
---|---|---|---|
Product: | debugger | Reporter: | Jesse Glick <jglick> |
Component: | Java | Assignee: | Martin Entlicher <mentlicher> |
Status: | RESOLVED FIXED | ||
Severity: | blocker | ||
Priority: | P3 | ||
Version: | 5.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | |
Bug Depends on: | |||
Bug Blocks: | 90398, 51607 |
Description
Jesse Glick
2005-06-29 20:30:51 UTC
Yes, this can be valuable. Obsolete milestone, please reevaluate This is not so straightforward due to smart-stepping we have in debugger. Every source root that is used by debugger need to be registered in Sources window and the enabled ones from that list is used by the smart-stepping algorithm. Thus we do not step into sources that are not enabled in Sources window. If the module does not declare it's sources correctly, we might find multiple different sources for the same class. This will cause that a bad source file is presented to the user. IMHO the good solution to this is to find all possible source roots for the class via GlobalPathRegistry and if there's just one, add it into Sources and enable for debugging, if there are more of them, let the user to choose which one to use. But ideally this decission should be propagated into the project settings. The solution of issue #90398 is still not designed satisfactorily. Do not use GPR if SFBQ returns a result; SFBQ should be accurate if projects are correctly configured, whereas GPR may be inaccurate even if there is no misconfiguration (just depending on which projects you happen to have open at the moment). A bit off-topic, but have you considered removing the Sources window, removing "smart stepping", and instead making it simple (= one key) to step out of the current method and back into the next one? Personally, I sometimes want to step into a JDK class and sometimes I don't; it depends on what I'm debugging, and may change within a given session. It would be easier to just move around freely in the control flow than to have to configure this in some separate (confusing) window. You could even add a tiny bit of logic so that when this action was invoked for the first time in a given session on a given source root, the IDE would prompt you to temporarily (for the session) skip over that source root. I think there was a thread to this effect, maybe with Tor commenting (not sure I remember now). This becomes more important in context of issue #152425. Scheduling for 7.0. IMHO this was in fact fixed by issue #184612. We use GPR to locate the sources that we did not find via SFBQ. |