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.

Bug 253924 - Ability to hide stack frames
Summary: Ability to hide stack frames
Status: NEW
Alias: None
Product: debugger
Classification: Unclassified
Component: Java (show other bugs)
Version: 8.1
Hardware: All Windows 7
: P3 normal with 1 vote (vote)
Assignee: Martin Entlicher
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-07-28 22:02 UTC by _ gtzabari
Modified: 2015-07-28 22:26 UTC (History)
0 users

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description _ gtzabari 2015-07-28 22:02:14 UTC
Chrome introduced a feature for hiding stack frames similar to Netbeans "Hidden Source Codes": https://developer.chrome.com/devtools/docs/blackboxing

The UI for hiding/showing stack frames is terrible, but the underlying concept is great. I suggest introducing a similar feature in Netbeans for Java projects.

Expected behavior:

1. User starts a debugging session
2. User selects a thread under the Debugging tab
3. User expands the stack frames under the thread.
4. User right-clicks on a stack-frame and selects "Hide"
5. All instances of the selected method (across the current and future debugging sessions) are now hidden under a "Hidden Source Codes" tree node.
6. To view the hidden frames, a user must click "+"
7. To un-mark a method as hidden, the user must right-click on the node and select "Unhide"

I would also suggest renaming the tree node from "Hidden Source Codes" to "Hidden stack frames".

This issue is related to https://netbeans.org/bugzilla/show_bug.cgi?id=237591 as my primary motivation is to hide Proxy-related stack frames. I want to hide all stack-frames associate with a particular library, class or method but not necessarily all libraries at once. The Intellij IDEA UI is too coarse-grained for my use-case.
Comment 1 _ gtzabari 2015-07-28 22:26:29 UTC
Taking a second look at this, we also need a mechanism to add silly code-generated stack-frames. Example:

  myapplication.MyClass$$FastClassBySpringCGLIB$$3237fa25.invoke(<generated>)

Chrome tackles this by allowing users to specify regex patterns. We could do that or simply provide a mechanism to hide all <generated> methods. The latter would be sufficient for me.