Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.core/r3_1_changes.html')
-rw-r--r--org.eclipse.debug.core/r3_1_changes.html183
1 files changed, 0 insertions, 183 deletions
diff --git a/org.eclipse.debug.core/r3_1_changes.html b/org.eclipse.debug.core/r3_1_changes.html
deleted file mode 100644
index fb2cba6ac..000000000
--- a/org.eclipse.debug.core/r3_1_changes.html
+++ /dev/null
@@ -1,183 +0,0 @@
-<html>
-<head>
-<title>3.1 Debug Platform Change Notes</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</head>
-
-<body bgcolor="#FFFFFF" text="#000000">
-<h1>3.1 Debug Platform Change Notes</h1>
-<p>This document describes new features and important changes in the 3.1 debug
- platform, relative to the 3.0 release.</p>
-
-<h2>New Features</h2>
-
-<h3> Breakpoint Organizers</h3>
-<p>The breakpoints view allows breakpoints to be displayed in groups. The platform
- supports breakpoint groupings by breakpoint type, file, project, and breakpoint
- working sets and resource based working sets (as well, it supports nested groupings).
- The <code>breakpointOrganizers</code> extension point allows for other grouping
- strategies to be contributed to the debug platform.</p>
-<p>A new, optional, <code>name</code> attribute has been added to the breakpoints
- extension point to provide a type name for breakpoints. This name appears as
- the group label, when the user chooses to group breakpoints by type. If this
- attribute is not specified on a breakpoint extension, the breakpoints are considered
- to not have a type, and will be displayed in the &quot;Others&quot; group.</p>
-<h3>Logical Structure Providers</h3>
-<p>Logical structures have been enhanced to allow clients to more easily contribute
- more than one logical structure for a given value. The new extension point <code>logicalStructureProviders</code>
- allows clients to contribute an implementation of an <code>ILogicalStrugureProvider</code>.
- A logical structure provider provides a simple way to contribute a single factory
- of logical structures for a debug model.</p>
-<p>In addition the optional interface <code>ILogicalStructureTypeDelegate2</code>
- has been added to allow a logical structure delegate to provide a dynamic label
- for a value's logical structure type.</p>
-<h3>Process Console Enhancements</h3>
-<p>The debug console has been enhanced to allow output to be multiplexed between
- the console and/or a file. As well, the encoding used to translate output to
- characters can now be specified. All of these options are available to the user
- on the &quot;Common&quot; launch configuration tab. As well, the options are
- available programmatically as launch configuration attributes. The following
- attributes have been added to <code>org.eclipse.debug.ui.IDebugUIConstants</code>.</p>
-<ul>
- <li><code>ATTR_CONSOLE_ENCODING</code></li>
- <li><code>ATTR_CAPTURE_IN_CONSOLE</code></li>
- <li><code>ATTR_CAPTURE_IN_FILE</code></li>
- <li><code>ATTR_APPEND_TO_FILE</code></li>
-</ul>
-<h3>Memory View</h3>
-<p>The Memory view, which was first released in 3.0 as internal API, has become
- public API in 3.1. See the new extension point <code>memoryRenderings</code>,
- and the new API package <code>org.eclipse.debug.ui.memory</code> for more information.</p>
-<h3>Parse Arguments</h3>
-<p>A convenience API method has been added to <code>DebugPlugin</code> to separate
- arguments in a single string into an array of arguments that can be passed to
- the command line for execution. See <code>DebugPlugin.parseArguments(String)</code>.</p>
-<h3>Run To Line Handler</h3>
-<p>Many debuggers implement &quot;run to line&quot; functionality by creating
- a breakpoint at the line a user has chosen to &quot;run to&quot;, and then resuming
- execution until that breakpoint is hit. A new API class, <code>RunToLineHandler</code>,
- has been created to simplify the task. The handler manages the &quot;skip breakpoints
- while performing run to line&quot; user preference as well canceling the operation
- if another breakpoint is hit before the &quot;run to line&quot; operation completes.</p>
-<h3>Run To Line Action Delegate</h3>
-<p>The <code>RunToLineActionDelegate</code> introduced in 3.0 can now also be
- contributed to a view (in 3.0 it could only be contributed to an editor). The
- action additionally implements <code>IViewActionDelegate</code>.</p>
-<h3>Variable Value Editors</h3>
-<p>A new extension point, <code>variableValueEditors</code>, allows debuggers
- to contribute custom editors for modifying a variable's value selected in the
- Variables view.</p>
-<h3>Launch Shortcut Keybindings</h3>
-<p>To register a key-binding for a launch shortcut, define a command with an <font face="Courier New, Courier, mono">id
- </font>the same as the launch shortcut <font face="Courier New, Courier, mono">id</font>,
- suffixed with the launch mode. For example, the id of the &quot;Java Application&quot;
- launch short cut is <font face="Courier New, Courier, mono">org.eclipse.jdt.debug.ui.localJavaShortcut</font>,
- so the command id for launching in debug mode is <font face="Courier New, Courier, mono">org.eclipse.jdt.debug.ui.localJavaShortcut.debug</font>.
- Then define a key-binding for your command.</p>
-<p>When the command is invoked via the key-binding, the selection or active editor
- will be used as the target for the launch shortcut's launch method. The shortcut
- is only invoked if the shortcut is enabled for the selection or editor.</p>
-<h3>Source Lookup/Display Facility</h3>
-<p>API methods have been added to <code>DebugUITools</code> to facilitate source
- lookup and display. See the methods <code>lookupSource(Object, ISourceLocator)</code>
- and <code>displaySource(ISourceLookupResult, IWorkbenchPage)</code>. When a
- source lookup result for a stack frame is displayed, the open editor is also
- annotated with an appropriate instruction pointer.</p>
-<h3>Watchpoints (IWatchpoint) and Images</h3>
-<p>As watchpoints are common to many debug architectures, the notion of an IWatchpoint
- has been added to the debug model. A watch point is a breakpoint that suspends
- execution when an associated variable is read and/or written. As well, default
- images for rendering watchpoints have been added to the debug platform.</p>
-<h3>Colors and Fonts for Debug Elements</h3>
-<p>In 3.1, debug model presentations (<code>IDebugModelPresentation</code>) may
- optionally implement <code>IColorProvider </code>and <code>IFontProvider </code>to
- override default fonts and colors for debug elements.</p>
-<h3>Inserting Elements into Debug View</h3>
-<p>The Debug view allows for debug models to insert arbitrary elements into the
- debug model element hierarchy. For example, the Java debugger now displays lock
- information directly in the view. To override the default presentation in the
- view, a debugger must provide an <code>IWorkbenchAdapter</code> or <code>IDeferredWorkbenchAdapter
- </code>for the relevant element(s). The debug platform provides default adapters
- for the standard debug elements.</p>
-<p>Debug elements were always required to implement <code>IAdaptable</code>, and
- now must be subclasses of <code>PlatformObject</code> in order for workbench
- adapters to be properly registered and retrieved for debug elements.</p>
-<h3>Abstract Debug Element</h3>
-<p>An abstract implementation of a debug element is provided in 3.1 - <code>DebugElement</code>.
- Clients implementing debug models may choose to subclass this class when implementing
- debug models. The class provides convenience methods for firing debug events,
- reporting exceptions, and retrieving adapters.</p>
-<h3>Drop to Frame Platform Action/Interface</h3>
-<p>The debug platform provides a &quot;drop to frame&quot; action and corresponding
- capability interface (<code>IDropToFrame</code>). Debug elements supporting
- the capability should implement this new interface to share the global action.</p>
-<h3>Context Menu Launching in Editors</h3>
-<p>Launching from the context menu (for example, &quot;Run As &gt; Java Application&quot;),
- is now available in editors (In 3.1, this was only available in the package
- explorer and resource navigator). To leverage this feature, the editor input
- associated with a executable file must have an <code>ILaunchable</code> adapter
- registered for it.</p>
-<h3>Support for Unregistered Launch</h3>
-<p>The launch framework allows for a launch to be performed without registering
- a launch object with the launch manager. An unregistered launch does not appear
- in the Debug view. A new launch method has been added to <code>ILaunchConfiguration</code>,
- accepting a boolean argument determining whether the launch should be registered
- (<code>launch(String mode, IProgressMonitor monitor, boolean build, boolean
- register)</code>), and a new method has been added to <code>ILaunchManager</code>
- to determine if a launch is registered (<code>isRegistered(ILaunch launch)</code>).</p>
-<h3>Reusable Breakpoint Ruler Toggle Actions</h3>
-<p>Providing double-click breakpoint creation in an editor's vertical ruler is
- a common feature for debuggers. The debug platform provides two actions to facilitate
- this: <code>RulerToggleBreakpointActionDelegate </code>and <code>ToggleBreakpointAction</code>.
- A debugger must contribute the <code>RulerToggleBreakpointActionDelegate</code>
- to the appropriate editor (see javadoc for more details), and also register
- an <code>IToggleBreakpointsTarget </code>adapter with the editor.</p>
-<h3>Environment Variables Case Preservation</h3>
-<p>Support has been added to <code>ILaunchManager</code> to retrieve the environment
- variables defined in the OS preserving case. This is important on the WIN32
- operating system. Although WIN32 is case insensitive, depending on what you
- intend to do with the environment, the lack of normalization may or may not
- cause problems. This method <code>getNativeEnvironmentCasePreserved()</code> returns
- mixed-case keys using the variable names recorded by the OS. Use <code>getNativeEnvironment()</code>
- instead to get a WIN32 system environment where all keys have been normalized
- to uppercase.</p>
-<h3>Closing an Input Stream</h3>
-<p>An optional extension, <code>IStreamsProxy2</code>, can be implemented by implementations
- of <code>IStreamsProxy</code>. When implemented, it allows the input stream
- associated with a process to be closed. This is used to allow the user to signal
- EOF when typing in the console.</p>
-<h3>Launch in Debug Mode when Workspace Contains Breakpoints</h3>
-<p>Since 3.0, The user preference &quot;Launch in debug mode when workspace contains
- breakpoints&quot; is used to control whether a launch should use debug mode
- even when &quot;run&quot; is pressed by the user, based on the presence of breakpoints
- in the workspace. A new method, <code>getBreakpoints(ILaunchConfiguration configuration)</code>,
- has been added to the abstract implementation of <code>LaunchConfigurationDelegate</code>,
- to determine which breakpoints should be considered as relevant for a particular
- launch. By default, all breakpoints in the workspace are considered, but subclasses
- may override. For example, the Java Application launcher only considers Java
- breakpoints.</p>
-<h3>Case Insensitive Source Lookup and Relative Paths</h3>
-<p>The debug platform's source lookup facilities now lookup source in folders
- and directories in a case insensitive manner on platforms that are case insensitive.
- As well, relative path names are supported in folders and directories.</p>
-<h2>Changes</h2>
-<h3>Debug Event Dispatch</h3>
-<p>In releases 3.0 and prior, calling <code>DebugPlugin.fireDebugEventSet(DebugEvent[])</code>
- resulted in debug events being fired synchronously in the calling thread. In
- 3.1, debug event set listeners are notified of debug events asynchronously in
- a different thread than the event is reported in.</p>
-<h3>Debug Actions and Content in Background Jobs</h3>
-<p>In 3.1, many actions that call debug element APIs (like &quot;stepOver&quot;),
- now create jobs to communicate with debug elements in background threads. This
- avoids blocking the UI in the case that a debug element method requires communication
- with a debug target that can block, hang, or timeout. Similarly, many of the
- debug views populate their content using background jobs to avoid blocking the
- UI thread. The net difference is that in 3.1, more than one thread might be
- accessing a debug model's APIs where previously only the UI thread was.</p>
-<h3>Contextual Launch from Top Level Run/Debug Menus</h3>
-<p>The top level menus no longer support the perspective element, and launch shortcuts
- must specify a &quot;<code>contextualLaunch</code>&quot; element to appear in
- the Run/Debug cascade menus.</p>
-<p>&nbsp;</p>
-</body>
-</html>

Back to the top