Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html')
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html146
1 files changed, 0 insertions, 146 deletions
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
deleted file mode 100644
index 6192e28d6..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform [org.eclipse.debug.core.model]</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Defines interfaces for debug model elements, source lookup, and launching.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package defines classes and interfaces known as the &quot;debug model&quot;
- which support an extensible set of debug architectures and languages. The debug
- model is a set of interfaces representing common artifacts in debuggable programs.
- The debug plug-in itself does not provide an implementation of a debug model.
- It is intended that third parties providing an integrated set of development
- tools for a specific language will also implement a debug model for that language,
- using an underlying debug architecture of their choice. For example, Java development
- tooling provides an implementation of a debug model based on the standard Java
- Platform Debug Architecture (JPDA).</p>
-
-<h4>The Debug Model</h4>
-
-<p>A client implements a debug model by
-providing an implementation of the interfaces defined in this package. (There is no explicit
-extension point that represents a debug model). Each debug model provides one or more
-launch configuration types capable of initiating a debug session.</p>
-
-<p>The common elements defined by the debug model are:
-
-<ul>
- <li>Debug Target - A debug target represents a debuggable program - for example, a virtual
- machine or a process.</li>
- <li>Thread - A debug target may contain one or more threads.</li>
- <li>Stack Frame - A suspended thread may contain one or more stack frames.</li>
- <li>Variable - A stack frame may contain variables.</li>
- <li>Value - Each variable has an associated value, and a value may contain more variables (to
- represent complex data structures and objects).</li>
- <li>Register Group - A stack frame may (optionally) be associated with one or more register
- groups.</li>
- <li>Register - A register group contains one or more registers.</li>
- <li>Memory Blocks - A debug target may (optionally) support the retrieval of
- arbitrary contiguous segments of memory.</li>
- <li>Breakpoint - Breakpoints suspend the execution of a program.</li>
- <li>Expression - An expression is a snippet of code that can be evaluated to
- produce a value.</li>
-</ul>
-
-<p>A debug model implementation is responsible for firing debug events. A debug event
-corresponds to an event in a program being debugged - for example the creation or
-termination of a thread.</p>
-
-<h4>Breakpoints</h4>
-
-<p>Breakpoints are used to suspend the execution of a program being debugged. There are
-many kinds of breakpoints - line breakpoints, conditional line breakpoints, hit count
-breakpoints, exception breakpoints, etc. The kinds of breakpoints supported by each debug
-architecture, and the information required to create those breakpoints
-is dictated by each debug architecture. The debug platform supports an extensible
-set of breakpoint via the breakpoints extension point.</p>
-
-<p>The debug platform provides a breakpoint manager that maintains the collection
- of all registered breakpoints. Clients add and remove breakpoints via this manager.
- Breakpoints are implemented by instances of <b>IBreakpoint</b>. Each breakpoint
- object has an associated marker, which provides persistence and presentation
- in editors. The debug platform defines a generic breakpoint and line breakpoint,
- as well as their corresponding marker definitions. Breakpoint creation is a
- client responsibility - that is, defining the attributes of a breakpoint and
- the resource to associate a breakpoint marker with.</p>
-
-<p>Breakpoints are persisted via their underlying marker. Breakpoint markers defined
- with the <b>persisted</b> attribute as <b>false</b> will not be persisted. Breakpoints
- are restored at workspace startup time by the breakpoint manager - that is,
- breakpoint objects are created for all persisted markers which are a subtype
- of the root breakpoint marker and are added to the breakpoint manager. To allow
- for selective persistence of breakpoints (of the same kind), the <b>IBreakpoint</b>
- interface and root breakpoint implementation defines a &quot;persisted&quot;
- attribute. If this value is set to false, the breakpoint will not be persisted
- across workspace invocations.</p>
-
-<p>As breakpoint markers are modified (created, removed, and changed), resource
- deltas are created by the platform. The breakpoint manager translates pertinent
- resource deltas into breakpoint change notifications (breakpoint added/removed/changed
- messages). Interested listeners may register with the breakpoint manager. The
- breakpoint manager only fires change notifications for registered breakpoints.
- This simplifies breakpoint processing for clients, as resource delta traversal
- and analysis is not required. Debug targets that support breakpoints should
- register for breakpoint change notifications.</p>
-<h4>New Features in the Debug Model, Eclipse 3.0</h4>
-<blockquote>
- <h4>Launch Delegate Enhancements<br>
- </h4>
- <p>Lanuch delegates can optionally implement the new interface <code>ILaunchConfigurationDelegate2</code>.
- This allows launch delegates to provide a launch object to be used for a launch.
- For example, when debugging on a server a delegate could create a new launch
- object or may reuse an existing launch object if the server is already running
- in debug mode. As well, the inteface provides a mechanism for performing a
- scoped build prior to launching (i.e. scoped to the projects in the workspace
- pertaining to the launch), and searching for errors in the workspace which
- may prevent the launch from succeeding (for example, compilation errors).</p>
- <p></p>
- <h4>Extensible Watch Expressions</h4>
- <p>The debug platform provides an implementation of watch expressions. Debug
- models can contribute watch expression delegates if they support watch expressions.
- When a stack frame is selected, the associated delegate is queried to provide
- a value for a watch expression in that context. The debug platform provides
- persistence, enabling, disabling, entering, and editing of watch expressions.</p>
- <h4>Automatic Array Partitioning<br>
- </h4>
- <p>The debug plug-in supports automatic partitioning of indexed collections,
- which partitions large arrays into sub-ranges in the variables view. This
- is supported with the introduction of a new interface in the debug model representing
- an indexed value - <code>IIndexedValue</code>. If a value implements this
- interface, the variables view will automatically partition its elements as
- required, into sub-ranges</p>
- <h4>Logical Structure Types<br>
- </h4>
- <p>Often, it is convenient to navigate complex data structures in terms of a
- logical structure, rather than an implementation structure. For example, no
- matter how a list is implemented (i.e. linked list, collection of arrays,
- etc.), it is often convenient to be able to view the list as an ordered collection.
- To facilitate the display of logical structures in the variables view, an
- extension point has been added (<code>org.eclipse.debug.core.logicalStructureTypes</code>)
- allowing debug models to contribute logical structures of its values, where
- applicable. Debug models may contribute delegates to translate raw implementation
- values into logical values. The variables view will display the logical values,
- when the option to display logical structures is turned on. More than one
- logical structure can be provided for a single value - the user can choose
- which structure to display.</p>
- <h4>Step Filters<br>
- </h4>
- <p>To support step filters on all stepping functions (into, over, return), a
- new interface has been added to the debug platform - <code>IStepFilters</code>
- - which can be implemented by debug targets. This interface replaces <code>IFilteredStep</code>,
- which is now deprecated. The debugger provides a global toggle that turns
- step filters on/off for all stepping functions. Debug targets should implement
- this new interface and honor the step filter enablement setting when stepping.</p>
- <p>This change maintains binary compatibility with previous releases. However,
- targets wishing to leverage the new function must implement the new interface.<br>
- </p>
-</blockquote>
-</body>
-</html>

Back to the top