Provides a generic debugger user interface that clients may customize via standard workbench extension points.
Note: this package is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to soloicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.
Eclipse Debug Tools UI (debug UI plug-in) provides a set of classes and interfaces to support a debugger user interface. A generic debug perspective is provided with a common set of views. Clients are allowed to contribute actions to the debug views via the standard workbench viewAction extension point, and can contribute to popup menus in the debug views via the standard popupMenu extension point.
The debug view presents a tree of launched debug sessions. The view provides support for standard debug interactions such as terminating, stepping, suspending, and resuming threads and debug targets. 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 process view presents a tree of launched programs in normal (non-debug) mode. The view provides support for terminating processes, and is linked to the console view to support I/O.
The variable view presents a tree of variables for the currently selected stack frame.
The breakpoint view presents a list of all breakpoints currently defined in the workspace. It supports enabling/disabling and breakpoint removal.
The inspector view presents a tree of expressions that have been evaluated.
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 be 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:
The debug UI plug-in defines an interface that launch wizards must implement - org.eclipse.debug.ui.ILaunchWizard. Launch wizards are defined in launcher extensions (defined by org.eclipse.debug.core), and are instantiated by the debug UI plug-in.
By default, when a program is run or debug, the debug UI automatically switches to the default debug perspective. To circumvent automatic perspective switching, a user preference is available. Launcher extensions may also define an alternate perspective to use.