FeaturesPluginsDocs & SupportCommunityPartners

debuggercore - planned features for NetBeans 3.3


Any features planned for other versions of NetBeans are available in index page. .
Content:
1. Must have
   Filtering of variables hierarchy
   Improvements of expression parser
   Redesign of Debugger Window
   Breakpoint Grouping
2. Should have
   Debugger glyph
   Expression view
3. Nice to have
   Return to previous workspace property
   Improvements of watches
   Add some new actions
   Add some new actions
   Improvements of breakpoints
   Improvements of breakpoints
   Reload of classes while debugging
   Debugging of bytecode

1. Must have

Must have features

Filtering of variables hierarchy
Duration: 1 days Status: DoneVotes: 1User Impact: high

The current version of NetBeans Debugger shows all static / private / ... fields for variables in Watches & Variables tabs. It is useful when you want to find some details of implementation, but it can be uncomfortable for many other purposes. For example if I am inspecting an instance of java.util.Vector, I probably want to see its content not its serialVersionUID, capacityIncrement etc.


Where it can be used:
  • primitive filters: filter variables according its "static / public / private ... / generated by compiler / null" features
  • hierarchy filters:
    • Collections filter: displays "important" children and properties for Vectors, Hashtables ... only. For example it can display <key, value> as children of Hashtable, and "size" as property if it.
    • Component filter: can be useful if we want to focus on a hierarchy of java.awt.Components
    • Object filter: designed to show dependencies of objects (for example objects from some package) only. Values of primitive types can be shown as properties.
    • Beans filter:

This feature should be useful for debugging non-java languages too.
For some languages compiled to Java (JSP) may be useful to hide (or rename, represent in the different way) some Java variables (generated variables). Such a module should redefine the default filter of Java debugger.

Jan Jancura - owner
Improvements of expression parser
Duration: 1 days Status: DoneVotes: 1User Impact: high

Currently we use JPDA experimental implementation of @subj. But it is buggy and unsupported, so we are working on our own implementation.

Jan Jancura - owner
Redesign of Debugger Window
Duration: 1 days Status: DoneVotes: 1User Impact: high

    The main problems of current Debugger Window:
      - Debugger Window is too small, mainly for browsing variables.
      - There is no good support for watching more than one debugger views (Debugger Window's tab).
      - Separate PropertySheet on each debugger view.
      - PropertySheet does not display such important information to take 1/2 of Debugger Window.
      - We will need some toolbar for variables view.

Jan Jancura - owner
Breakpoint Grouping
Duration: 1 days Status: DoneVotes: 1User Impact: high

It is a good idea to logically organize breakpoints in the case of large projects. Grouped in a group, they can be enabled, disabled, or removed as a single unit. A group can be visually implemented by a node in the Debugger Window, tab Breakpoints. Descendant nodes should represent all breakpoints (eventually sub-groups) belonging to the group.

Jan Jancura - owner

2. Should have

Should have features

Debugger glyph
Duration: 1 days Status: DoneVotes: 1User Impact: high

We plan to add a special glyph to the editor window for debugger. It could:

  • contain information if some bytecode is produced for this line. It means that this line can be a current line of debugger and some breakpoint can be added on it.
  • allow to add breakpoints quickly (click on glyph)
  • contain info if some stack trace of some thread currently contains this line. It also can display state of this thread (like thread waits on this line...)
  • allow to traverse (up, down) stack trace quickly (click on some up, down icons)

Jan Jancura - owner
Expression view
Duration: 1 days Status: Not startedVotes: 1User Impact: medium

It could be useful to have a new view (tab in the Debugger Window) which provides quick evaluation (execution) of expressions. Value of expression written to some input line will be displayed similar to value of watches in watches tab of Debugger Window (in tree of variables).

Jan Jancura - owner
Kurt Westerfeld

3. Nice to have

Nice to have features

Return to previous workspace property
Duration: 1 days Status: Not startedVotes: 1User Impact: medium

We have "Global Options/Debugger Settings/Workspace" property which defines which workspace should be used for debugging (when debugging starts IDE switches to it). But we do not returns to the previous workspace after debugger finish.

Kurt Westerfeld
Improvements of watches
Duration: 1 days Status: Not startedVotes: 1User Impact: small
  • Configurable Format of Display Text for Watches (Daniel Prusa): Format of display text for watched variables can be configurable. The user could chose what information about variables he/she prefers (name, type, toString() value, value - in case of primitive type, hash code, identity hash code, internal id, etc.) and in what format it should be displayed.
  • Predefined watch name (Jan Stola): When I place a caret on some variable definition and try to create a new breakpoint the name of this variable is offered to me (so, I can easily create my variable breakpoint). I think it would be nice to have the same support for watches.
  • Enable to call some method on variable selected in Watches tab
  • Displaying Integral Values in Various Formats (Daniel Prusa): We support displaying integral values in the decimal format only. The ability of displaying integral values in the hexadecimal, octal and binary format can be added. Every variable can have property "Format" with the default value "decimal". Format can be specified in Add Watch dialog: i,x (means watch on variable x + display it in hexadecimal).
  • Better support for watching two (and more) dimensional arrays (10490).
 
Jan Jancura - owner
Add some new actions
Duration: 5 days Status: DoneVotes: 1User Impact: small
  • Actions & Shortcuts for stack trace traversing (up, down).
 
Jan Jancura - owner
Add some new actions
Duration: 5 days Status: Not startedVotes: 1User Impact: small
  • Add Breakpoint on Line / Method /... to Explorer: We plan to add "Add Breakpoint on Line / Method / ..." everywhere it is possible. Explorer Nodes of Java DO, editor's popup menu, editor's margin etc.
  • Creation of exception breakpoints from Classes tab (10103).
  • Creation of variable breakpoints from Classes tab (10102).
  • Add some debugger related actions to the Tools Actions:
    • "Go to Breakpoint" to the editor's popup on the breakpoint line, which transfers focus to the Debugger Window / Breakpoints tab and selects proper breakpoint.
    • "Go to Thread" to the editor's popup on the current line, which transfers focus to the Debugger Window / Threads tab and expands & selects proper thread.
    • "Go to Locales"
    • "Go to Watches"
 
Jan Jancura - owner
Improvements of breakpoints
Duration: 15 days Status: DoneVotes: 1User Impact: small
  • <init> and <clinit> should be offered when creating method breakpoints
  • Use list boxes instead input lines in Add Breakpoint Dialog - give some choice of packages / classes / ... (10068).
  • Add option "including anonymous inner classes" to method breakpoints (11134) .
 
Jan Jancura - owner
Marian Petras - developer
Improvements of breakpoints
Duration: 15 days Status: Not startedVotes: 1User Impact: small
  • Method breakpoints on method exit (10104).
  • Add special "Constructor breakpoint" (11135).
  • Write different reports when method vs. constructor is reached (11133).
  • Property editor for Print text property of breakpoints (Jan Stola): It would be nice to have property editors for print text properties of breakpoints. In the present situation the user don't know which substitutions could he/she use, e.g. {lineNumber}, {className} etc.
  • Info dialog could appear when user put breakpoint into white line.
  • Disabled breakpoints could have different icon (Svatopluk Dedic)
  • Use dialog boxes for breakpoint notification (Kurt Westerfeld): Current version of NetBeans Debugger uses output window for breakpoint event notifications. We could add some "Pop-up dialog" option as an breakpoint action (like "Print text" option - see properties of breakpoint).
  • There should be access/modification variable breakpoint. (Jan Stola)
 
Jan Jancura - owner
Marian Petras - developer
Reload of classes while debugging
Duration: 1 days Status: Not startedVotes: 1User Impact: small

Ability to change code while debugging (recovery from the changes and ability to continue in code processing after it was changed). This feature significantly improves the effectiveness of writing and debugging code.

 
Jan Jancura - owner
Debugging of bytecode
Duration: 1 days Status: Not startedVotes: 1User Impact: small

We plan to support simple switching between bytecode and java while debugging.

 
Jan Jancura - owner
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by