3.1 Debug Platform Change Notes

This document describes important changes in the 3.1 debug platform, relative to the 3.0 release.

New Features

Breakpoint Organizers

new breakpoint type attribute/IBreakpointManager.getTypeName(...), IBreakpointTypeCategory

Logical Structure Providers

also includes set/get default structure type for a set of structures, ILogicalStructureTypeDelegate2

Capture Output Options

Memory Renderings/Memory Block Manager/Listener

Parse Arguments

DebugPlugin.parseArguments(..)

Run To Line Handler

Run To Line Action Delegate

can also be contributed to a view

Variable Value Editors

Launch Shortcut Keybindings

To register a key-binding for a launch shortcut, define a command with an id the same as the launch shortcut id, suffixed with the launch mode. For example, the id of the "Java Application" launch short cut is org.eclipse.jdt.debug.ui.localJavaShortcut, so the command id for launching in debug mode is org.eclipse.jdt.debug.ui.localJavaShortcut.debug. Then define a key-binding for your command.

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.

Source Lookup/Display Facility

Watchpoints (IWatchpoint) and images

Colors and Fonts for debug elements

Inserting elements into debug view/hierarchy

Abstract Debug Element

Drop to Frame Platform Action/Interface

Launch from context menu in editor

Editor input must have an ILaunchable adapter for this to work.

Support for hidden launch (unregistered)

new launch method and ILaunchManager.isRegistered(..)

Reuseable breakpoint ruler toggle actions

Environment variables case preservation

Memory block extensions and Memory View

IStreamsProxy2

LaunchConfigurationDelegate#getBreakpoints(..)

allows to check if there are relevant breakpoints in the workspace for a launch

Changes

Debug Event Dispatch

Debug event set listeners are notified of fired debug events asynchronously in a different thread than the event is reported in.

Debug Actions in Background

Background Content Providers/Workbench adapters

Note: debug elements must subclass PlatformObject for adapter mechanism to work.