FeaturesPluginsDocs & SupportCommunityPartners

Debugger: User's view for NB3.3 New Features Proposal


Version:
1.1

Author:
Jan Jancura <jan.jancura@czech.sun.com>

Abstract:
This document describes planned API improvements for next NetBeans releases. Links to RFE and feature's design view can be added to each feature description.

Document History:
[05/21/2001] : version 1.0 : Created and edited from New Features for NB 3.3 document.

Contents:
- Filtering of variables hierarchy
- Expression parser improvements
- Redesign of Debugger Window
- Expression view
- Debugger glyph
- Return to previous workspace property

Filtering of variables hierarchy (new features)

Variables filter

is designed to help a user to define what he / she wants to see in a variable tree. It can hide some variables, create some new "virtual" variables, change name, icon and properties of each variable and redefine fields of them. VF can be represented as property (PropertyEditor) of variable with customizer or as a toolbar in Debugger Window. There can be different filter for each language supported by some debugger implementation. Debugger Window toolbar will contain filter for current debugger (current session).

From the user point of view two types of filters will be supported in NB33:

  • global filter: This filter should affect whole structure (tree) of variables (watches / locals) in watches, locals and threads (contain locals) tabs. Special toolbar (variables filter toolbar) should be added to Debugger Window to customize this filter.
  • local filter: There should be possibility to set special filter for each watch / variable / local. That is why the filter should be represented by watch / variable / local property with customizer.

  • Local filter should be superior to global one. There should be possibility to annul local filter.

Java variables debugger filter

    properties

    • primitive filters: public, protected, package-private, private, static, inherited, primitive, syntethic
    • hierarchy filters: Collections (Vector, Hashtable, ...), Bean, Component (JComponent)

    toolbar representation

      variables filter toolbar should contain toggle buttons for all primitive filters and "details" button. Details button will open filter customizer.

    Customizer

      should contain checkboxes for all primitive filters, and some area (list with checkboxes) for all hierarchy filters. Add and change buttons can be added later to add / edit hierarchy filters.

    default settings

      - public, protected, package-private, private, static, primitive properties should be on
      - inherited, syntethic properties should be off
      - all hierarchy filters should be on

Sketch:


Debugger Window (in MDI mode) with variables filter toolbar.
 

Expression parser improvements (new features)

From a user's point of view it is not a new feature, but bugfixing of current functionality only.

Redesign of Debugger Window (new features)

The new Debugger Window should contain some (user defined) subset of debugger views (currently tabs in DW). Views should be arranged vertically on the right side of debugger workspace. Properties panel will be handled as one of standard debugger views. So it should be shared among all views. Debugger Window will contain toolbar on the top with toggle buttons for each view (and propertysheet). Another toolbar should be added for variables filter.
See picture, please.

Expression view (Kurt Westerfeld, Jan Jancura) (11296) (new features)

Expression view should be one of the standard debugger views (currently tabs in DW). It will contain input line, tree view and "Add Watch" button. Tree view will display variables tree for expression written to the input line (similar like tree for watch on watches view). "Add Watch" button should create standard watch for current expression.

Debugger glyph (new features)

This feature depends on implementation of glyphs in editor. So look at Editor User's View, please.

Return to previous workspace property (Kurt Westerfeld). (new features)

    Debugger should switch to "previous" workspace when it finish debugging of all sessions. But return should be done if workspace was not changed during debugging only.
 
 
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