The Debug Model

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.

A language independent "debug model" is represented by the set of interfaces defined in org.eclipse.debug.core.model. A client implements a debug model by providing an implementation of these interfaces in a plug-in. (There is no explicit extension point that represents a debug model). Each debug architecture will have its own way of initiating a debug session. Generally, each debug model will provide one or more launchers capable of initiating a debug session. A "launcher" is an extension point defined by the debug plug-in. A launcher is responsible for starting a debug session, and registering the result with the debug plug-in. Launching is a client responsibility.

The common elements defined by the debug plug-in are:

Rendering & Presentation

Debug model elements and breakpoints are displayed in the workbench. To support configurable and extensible presentation, the debug UI plug-in defines the debugModelPresentations extension point. Extensions of this kind register 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: