Eclipse Platform Build Notes 
Platform Debug

July 15, 2003

New Features in Milestone 2 (release 3.0)

Extensible Debug Events

The debug platform supports an extensible set of debug events. A debug event kind of MODEL_SPECIFIC has been added in the 3.0 release to indicate an application specific debug event. When a debug event of kind MODEL_SPECIFIC is created, the detail code in the event is client defined. The source of the event (debug element that generated the event) identifies the debug model from which the event was generated. The debug platform and user interface ignores model specific debug events.

A data field has been added to debug events to allow clients to store application specific data in debug events.

Extensible Instruction Pointer Images

When a stack frame is selected in the debug view, the debugger opens a corresponding editor and displays an image in the editor ruler on the line that corresponds to the selected stack frame. In releases prior to 3.0, the images were provided by the debug plug-in and could not be overridden by a debug model. In release 3.0, a debug model presentation (IDebugModelPresentation) can provide specialized images by implementing the debug editor presentation interface (IDebugEditorPresentation).

Editor Positioning and Custom Decorations

In release 3.0, debug model presentations can control the positioning of editors opened by the debugger for a stack frame, and may add extra decorations to the editor for a stack frame (for example, custom background coloring, etc.). This can be acheived by having a debug model presentation implement the new interface IDebugEditorPresentation, and implementing the appropriate methods - selectAndReveal, decorateEditor, and removeDecorations.

Problem Reports Fixed

33598: Need to dynamically set icon for current line
38976: Cancelling on launch var pref page does not work
38980: var descriptions not persisted.
37793: When moving folders and/or files in the navigator window UI hangs
36147: Launch framework doesn't handle out of sync launch files
37092: Environment tab variables should be sorted
38534: Duplicate environment variables
39979: Edit button should be disabled for multiselect
36597: Would like to say what text attributes to use when selecting the executing statement
35208: IAE in JavaMainTab when entering project name with path seperator
39980: Selection of launch variables in the Launch Variable pref page
38324: Double dialog for launch variable is unnecessary

Eclipse Platform Build Notes 
Platform Debug

July 9, 2003

Problem Reports Fixed

39058: Would like "collapse all" action in variable view
38577: Setting detail pane to be visible can hide selected variable
39482: NPE adding Java Watch expressions
39709: Duplicated entries in the debugger

Eclipse Platform Build Notes 
Platform Debug

July 1, 2003

Problem Reports Fixed

38584: Book Capitilization for the tooltip for Toggle Variable Filters
38508: [Dialog] [Font] Remote Java Application/Connect Page
38302: An IProcess that returns null for getStreamsProxy generates 2 null pointer exceptions
39397: Consolidate variables & general debug preference page
39208: Context menu "Copy" should show Icon from ISharedImages [Console]
39344: Convert ProcessMonitor to be a Job
39258: Launch Configuration dialog: Screen cheese when switching between nodes
39394: Extensible debug events
23432: Some exceptions should not be logged.

Eclipse Platform Build Notes 
Platform Debug

June 17, 2003

Problem Reports Fixed

38676: can't debug into class if file/class name identifier has _$$_
38722: Need restoration of preference store for those actions that are enabled only
38532: Variables view orientation actions should more closely mimic the type hierarchy
22941: Details area orientation
37241: Support for core variables
38837: CHKPII errors with launch variables
38972: variable values only persisted when added/removed
38967: simple launch variables & lazy init of plug-in
38725: Debug context variables missing descriptions
38727: IVariableComponent#setEnabled(boolean)

Eclipse Platform Build Notes 
Platform Debug

June 10, 2003

Problem Reports Fixed

38671: NPE from LaunchVariableManager
38649: Plugin.xml and schema validation

Eclipse Platform Build Notes 
Platform Debug

June 5, 2003

Problem Reports Fixed

38423: NPE during creation of varibles view
38529: UI locks up toggline on the variable filters
38420: Details pane does not populate when first opened

Eclipse Platform Build Notes 
Platform Debug

June 3, 2003

Extensible Launch Modes

The debug platform supports an extensible set of launch modes. Releases prior to 3.0 only supported two launch modes - run and debug. The debug platform now provides an extension point for contributing new launch modes - org.eclipse.debug.core.launchModes. The debug platform now defines (contributes) three basic launch modes - run, debug, and profile. Other clients may contribute new launch modes. The launch manager (ILaunchManager) has additional API to retrieve all launch modes, and a human readable label for each launch mode.

The debug platform has a new extension point to support the contribution of a launch delegate for a specific launch configuration type and launch mode - org.eclipse.debug.core.launchDelegates. This allows launch configurations to be extended by third parties, to support new launch modes. For example, a client could contribute a launch delegate that launches a Java Application in profile mode (currently, the SDK does not provide a profiler).

The debug platform has added an optional element (launchMode), to the definition of a launch tab group extension - (org.eclipse.debug.ui.launchConfigurationTabGroup), to support the contribution of a set of tabs for a specific launch configuration type and launch mode. This allows third parties to extend an existing lauch configuration user interface. For example, a client contributing a launch delegate to profile a Java Application would also contribute a set of tabs to configure the profiler. The launchMode element defines a perpsective attribute to specify the default perspective assocaited with the launch configuration type and mode. This controls the perspective that is switched to/opened, by default, when a configuration is launched in the associated mode. For example, a client contributing a profiler may also contribute a profiling perspective that should be displayed when an application is profiled.

Problem Reports Fixed

38083: [Viewers] Debug exception when double-clicking on hashtable
38249: NPE trying to create project builder
37141: Common tab icon should not be a bug
38283: Remove the setting of the target perspective on working copies
38102: [Debug] [Preferences] Launch Variables Page; Table Columns truncated
38330: No double click to edit for launch variable
38325: Launch variable not removed from table on remove
38336: Support delete key in launch variable table
38328: Launch variable table needs to be sorted alphabetically

Eclipse Platform Build Notes 
Platform Debug

May 27, 2003

Problem Reports Fixed

38070: AbstractLaunchConfigurationTabGroup#launched() javadoc typo

Eclipse Platform Build Notes 
Platform Debug

May 06, 2003

Problem Reports Fixed

37090: Apply/Revert incorrectly enabled for Environment tab
36930: Support variables in launch configurations

Eclipse Platform Build Notes 
Platform Debug

April 29, 2003

Problem Reports Fixed

27243: Environment for external tools

Eclipse Platform Build Notes 
Platform Debug

April 22, 2003

Problem Reports Fixed

35740: Disable edit launch config popup action for private launch
36390: Doc error in schema for consoleColorProviders and consoleLineTrackers
36152: Workbench Help set on wrong Composite
36035: Request a variant on DebugPlugin.exec that takes an environment pointer
36409: TODO marker for help context for OpenLaunchDialogAction
27444: [Dialogs] Dialog font should be used by debug components