# 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 (PENDING)

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.

### Contextual launch from top level Run/Debug menus

The top level menus no longer support the perspective element, and launch shortcuts must specify a "contextualLaunch" element to appear in the Run/Debug casecade menus.