A software debugging environment uses multiple abstract views to provide
the flexibility required to perform effective debugging on an executing
software program using data structures. Developers can select between one
or more views to see different aspects of the software being examined.
Each view can have a filter with specific properties determining which
quantities are displayed, the format they are displayed in and any
editing capability. In some embodiments, the selection of views, filters
defining the views, and the editing properties for the contents shown in
the views may be set interactively. In some cases, this interaction
occurs through the interface of an Integrated Development Environment
(IDE) containing the debugger. In other cases, the properties of views in
the debugging environment are determined by definitions supplied in
configuration files. Special facilities are provided for the debugging of
JSP programs.