# Package org.eclipse.debug.ui

Provides a generic debugger user interface that clients may customize via standard workbench extension points.

## Package Specification

The Eclipse platform debug UI plug-in provides a set of classes and interfaces to support a language independent debugger user interface. A generic debug perspective is provided with a common set of views. Clients contribute actions to the debug views via the standard workbench extension points.

#### The Debug View

The debug view presents a tree of launched programs in debug and non-debug (run) mode. The view provides support for standard interactions such as terminating, stepping, suspending, and resuming threads, debug targets, and processes. The debug view is linked to an editor view, variable view, and console. The editor view is used to display source code for stack frames. A selection in the debug view causes the line of code being executed to be highlighted in the editor view. The variable view shows the visible variables in the selected stack frame, and the console view handles I/O for the debuggable process.

#### The Variables View

The variables view presents a tree of variables for the currently selected stack frame. A "details" area may be hidden/shown which provides a detailed description of the selected variable. For example, the Java debugger displays the result of invoking 'toString()' on the selected variable in this area.

#### The Breakpoints View

The breakpoints view presents a list of all breakpoints currently defined in the workspace. It supports enabling/disabling and breakpoint removal.

#### The Expression View

The expression view presents a tree of expressions and their corresponding values.

#### Debug Model Presentation

The debug UI plug-in defines an extension (org.eclipse.debug.ui.debugModelPresentations) point to allow implementations of debug models to provide custom rendering and presentation of its debug elements. Extensions are registered for a specific debug model. It is intended that an implementation of a debug model will also provide an implementation of a debug model presentation. The presentation provides:

- an image for a debug element or breakpoint
- a label for a debug element or breakpoint
- an editor input and editor id used to display a debug element, breakpoint, or source element
- a detailed description of a variable value, used to display in the "details" section of the variables view

#### Launch Configuration Dialog

The debug UI plug-in provides a lanuch configuration dialog for creating and editing launch configurations. Clients may contribute tabs to the launch configuration dialog via the launchConfigurationTabGroup extension point.

Interface Summary
IBreakpointOrganizerDelegate: A breakpoint organizer is used to categorize breakpoints and provides change notification when categorization has changed.
IBreakpointOrganizerDelegateExtension: Optional enhancements to the `IBreakpointOrganizerDelegate` interface.
IBreakpointTypeCategory: Represents a breakpoint's type to support organization of breakpoints by type in the breakpoints view.
IDebugEditorPresentation: A debug model presentation may implement this interface to override standard editor positioning and annotations associated with source code display for stack frames.
IDebugModelPresentation: A debug model presentation is responsible for providing labels, images, and editors associated with debug elements in a specific debug model.
IDebugModelPresentationExtension: Optional extension for an `IDebugModelPresentation`.
IDebugUIConstants: Constant definitions for debug UI plug-in.
IDebugView: Common function for debug views.
IDetailPane: A detail pane is created from a detail pane factory and displays detailed information about a current selection with an SWT `Control`.
IDetailPane2: An extension to the detail pane interface which allows implementors to provide a selection provider instead of setting the selection provider of the view's `site` directly.
IDetailPane3: An extension to the detail pane interface which allows implementors to save contents of the details pane.
IDetailPaneFactory: A detail pane factory creates one or more types of detail panes.
IInstructionPointerPresentation: A debug model presentation may implement this interface to override standard annotations used to display instruction pointers for stack frames.
ILaunchConfigurationDialog: A launch configuration dialog is used to edit and launch launch configurations.
ILaunchConfigurationTab: A launch configuration tab is used to edit/view attributes of a specific type of launch configuration.
ILaunchConfigurationTab2: Optional enhancements for `ILaunchConfigurationTab`.
ILaunchConfigurationTabGroup: A launch configuration tab group is used to edit/view attributes of a specific type of launch configuration.
ILaunchGroup: A launch group identifies a group of launch configurations by a launch mode and category.
ILaunchShortcut: A launch shortcut is capable of launching a selection or active editor in the workbench.
ILaunchShortcut2: An extension to a standard launch shortcut (`ILaunchShortcut`) allowing launch shortcuts to specify how selections and editors should be launched.
ISourcePresentation: A source presentation is used to resolve an editor in which to display a debug model element, breakpoint, or source element.
IValueDetailListener: Notified of detailed value descriptions.

Class Summary
AbstractBreakpointOrganizerDelegate: Common function for breakpoint organizer delegates.
AbstractDebugView: Common function for views related to debugging.
AbstractLaunchConfigurationTab: Common function for launch configuration tabs.
AbstractLaunchConfigurationTabGroup: Common function for launch configuration tab groups.
BreakpointTypeCategory: Default implementation for a breakpoint type category.
CommonTab: Launch configuration tab used to specify the location a launch configuration is stored in, whether it should appear in the favorites list, and perspective switching behavior for an associated launch.
DebugElementWorkbenchAdapter: Deprecated. Custom content in the debug views is no longer supported by `IWorkbenchAdapter`.
DebugPopup: A `PopupDialog` that is automatically positioned relative to a specified anchor point.
DebugUITools: This class provides utilities for clients of the debug UI.
DeferredDebugElementWorkbenchAdapter: Deprecated. deferred custom content in the debug views is no longer supported by `IDeferredWorkbenchAdapter`.
EnvironmentTab: Launch configuration tab for configuring the environment passed into Runtime.exec(...) when a config is launched.
InspectPopupDialog: A `DebugPopup` that can be used to inspect an `IExpression` object.
PrototypeDecorator: Decorator for `ILaunchConfiguration` prototypes.
PrototypeTab: Launch configuration tab used to specify the prototype associated with a launch configuration, and also listed attributes from prototype shared with the launch configuration.
RefreshTab: A launch configuration tab which allows the user to specify which resources should be refreshed when the launch terminates.
StringVariableSelectionDialog: A dialog that prompts the user to choose and configure a string substitution variable.
StringVariableSelectionDialog.VariableFilter: Base class for custom variable filters.
WorkingDirectoryBlock: A control for setting the working directory associated with a launch configuration.