# Eclipse 3.4 Debug Platform Build Notes

## Summary of API changes in 3.4

### Console Encoding

- A new method `ILaunchManager#getEncoding(ILaunchConfiguration)` was added to allow consumers of the `DebugPlugin#ATTR_CONSOLE_ENCODING` preference to get the encoding to use when launching the configuration specified as the parameter to getEncoding(..). The javadoc for `DebugPlugin#ATTR_CONSOLE_ENCODING` has been updated to reflect that a launch configuration now inherits its default encoding from its associated resource(s) when unspecified.

### Launching Enhancements

- added `ILaunchShortcut2`. The new interface adds extensions to the standard launch shortcut (`ILaunchShortcut`) to specify how selections and editors should be launched.
- added "`public boolean hasAttribute(String attributeName)`" to `ILaunchConfiguration`. The method allows clients to determine if an attribute is present on a launch configuration.
- added "`public Object removeAttribute(String attributeName)`" to `ILaunchConfigurationWorkingCopy`. The method allows clients to remove attributes from configurations.

### Expression Enhancements

- added `IWatchExpressionFactoryAdapter2`. The new interface allows the 'Create Watch Expression' action to operate on arbitrary objects, instead of just `IVariable`s.

### Getting Adapters

- added a new method `DebugPlugin#getAdapter(Object element, Class type)` that gets an adapter from an object in the correct manner. Duplicate methods in the platform were changed to use this convenience method.

### Debug Model Presentation

- A new optional extension interface (`IDebugModelPresentationExtension`) allows debug model presentations to control whether they are called in the UI thread.

### Modules View

- A Modules View has been added to the platform, along with appropriate constants in `IDebugUIConstants`.
  - `ID_MODULE_VIEW` - view identifier
  - `EMPTY_MODULES_GROUP` - menu group identifier
  - `MODULES_GROUP` - menu group identifier

## June 12, 2008

### Problem Reports Fixed

Bug 236922: external tool builder does not run

## June 5, 2008

### Problem Reports Fixed

Bug 235824: [doc] Help topics missing

## June 2, 2008

### Problem Reports Fixed

Bug 234642: [doc] Javadoc of ILaunchesListener should link to ILaunchListener
Bug 234536: JUnit tests fail from time to time because DebugPlugin.getLaunchManager() is not synchronized

## May 28, 2008

### Problem Reports Fixed

Bug 208062: First context menu has mysterious Run As/Debug As/Profile As menu entries
Bug 233730: Run control actions not refreshed after event with both CONTENT and STATE flags for parent context issued
Bug 234471: Infinite loop running evaluation tests

## May 28, 2008

### Problem Reports Fixed

Bug 233703: Debug plugin and ProcessConsoleManager misses launches

## May 21, 2008

### Problem Reports Fixed

Bug 232699: TVT34:TCT330: TVT FR - Space missing before colon sign in French

## May 20, 2008

### Problem Reports Fixed

Bug 232832: TVT34:TCT275: KO: 'Import Launch Configurations' in English

## May 14, 2008

### Problem Reports Fixed

Bug 225688: DBCS3.4: In expression view, DBCS characters are changed to "?" after restarting eclipse
Bug 228445: 'Create Watch Expression' shows up in every context menu
Bug 224019: Command handler conflict in registers view

## May 13, 2008

### Problem Reports Fixed

Bug 229356: Run/Debug settings property page sizes to screen width for long name config

## May 9, 2008

### Problem Reports Fixed

Bug 217127: Regression in performance test PerfContextualLaunchMenu#testContextualLaunchMenu()

## May 8, 2008

### Problem Reports Fixed

Bug 230969: NPE disposing a model proxy
Bug 223851: Contextual launch not choosing most recent configuration
Bug 209243: Console window with black background

## May 7, 2008

### Problem Reports Fixed

Bug 229349: Poor wording in Import breakpoint dialog

## May 6, 2008

### Problem Reports Fixed

Bug 229344: AssertionFailedException during "Enable Breakpoint" with access/modification turned off
Bug 229362: filter count on LCD considers PRIVATE configs in total
Bug 229363: Run/Debug settings page should not be visible for .jpage files
Bug 220613: Platform UI now provides a collapse all command
Bug 229344: AssertionFailedException during "Enable Breakpoint" with access/modification turned off
Bug 227477: IModelProxy.init() and installed() are called inside a synchronized() block in ModelContentProvider

## May 5, 2008

### Problem Reports Fixed

Bug 222802: NPE if DebugUITools.launch(...) is called on background thread
Bug 225567: [Memory View] Tooltip from rendering stays forever

## 3.4 M7 - May 2, 2008

### Problem Reports Fixed

Bug 229033: Adding/Editing installed JRE should allow other archive names
Bug 228267: Inspect popup dialog disposes presentation context from variables view
Bug 228264: NPE when copying stack trace.
Bug 220611: Add PageSwitcher command to the Console View
Bug 228716: breakpoints view context activated for any part
Bug 220442: adopt identifier attribute for schemas
Bug 217104: NPE when returning null from force return

## April 22, 2008

### Problem Reports Fixed

Bug 220611: Add PageSwitcher command to the Console View
Bug 226203: Invoking Find action in Registers views with large group "hangs" IDE
Bug 203147: NPE while 'copy variables' in Variables view
Bug 198568: Copy Stack doesn't always cancel
Bug 191625: Undefined context while filtering dialog/window contexts

## April 8, 2008

### Problem Reports Fixed

Bug 215432: [Memory View] Memory View: real estate & new/remove rendering workflow
Bug 222267: Expressions aren't update correclty (ExpressionEventHandler doesn't preserve event source for CDT change events)
Bug 223992: NPE from "Model Proxy installed notification job"
Bug 225094: Get rid of outdated context Id "org.eclipse.ui.globalScope"
Bug 189786: Invalid thread access stopping Debug UI plugin
Link: enabling breakpoints during debug has poor performance
Bug 225336: [Memory View] MemoryView mistreats small bounded memory blocks
Bug 225366: [Memory View] Rendering view pane is blank when view is re-opened
Bug 225385: [Memory View] Need ability to disable add/remove rendering actions in RenderingViewPane

## 3.4 M6 - March 28, 2008

### Problem Reports Fixed

Bug 188704: Top index not maintained properly in variables / registers view.
Bug 215489: Stackframe shows as running when suspended
Bug 127770: [variables] Expansion lost in variables view when holding down step key
Bug 221905: clean up javadoc tags
Bug 211158: Add a modules view to the set of standard debugger views.
Bug 223791: Compiler warning in org.eclipse.debug.ui
Bug 224128: LCD title not correct creating a new configuration

## March 11, 2008

### Problem Reports Fixed

Bug 219643: Memory: typo EXTENSION_POINT_MEMORY_RENDERIGNS
Bug 219794: NPE in console MatchJob
Bug 222228: Should delegate to platform adapater manager for adapters
Link: LazyStart from Debug plugins

## February 19, 2008

### Problem Reports Fixed

Bug 217769: [breakpoints] ToggleBreakpointAction always creates TextSelection with 0 lengh

## February 12, 2008

### Problem Reports Fixed

Bug 211920: [DND] Add expression by drag and drop does not honor "Create Watch Expression" enablement
Bug 217951: Missing detail formatter for registers group
Bug 217900: [breakpoints] Breakpoint export dialog does not size well on linux
Bug 218080: [breakpoints] No warning when using an inavlid path in breakpoint export dialog

## 3.4 M5 - February 8, 2008

### Problem Reports Fixed

Bug 218086: Filtering statics also filters constants
Bug 218240: [expressions] Missing check for delegate and factory when creating watch expression
Bug 213069: Extend PresentationContext to save and restore properties.
Bug 216509: Memory View: typo, s/isMeomryBlockRemoved/isMemoryBlockRemoved
Bug 208062: First context menu has mysterious Run As/Debug As/Profile As menu entries

## January 29, 2008

### Problem Reports Fixed

Bug 217279: [launch] Allow ILaunchShortcut2 to provide resource mapping
Bug 216777: [detail panes] widget disposed exception
Bug 209883: Expression view actions use getAdapter() to work with non-standard debug models.
Bug 199915: API Request: DelegatingModelPresentation.isInitialized(...)

## January 22, 2008

### Problem Reports Fixed

Bug 215242: Debuggers cannot set the selected frame for Suspend events
Bug 215723: Attempt to reveal the call stack when stopped

## January 8, 2008

### Problem Reports Fixed

Bug 214094: i can't edit the run configuration because of an AssertionFailedException
Bug 214359: [launching] clean up launch config filtering
Bug 213719: NPE when closing the Variables view.
Bug 213609: Need a clarification on usage of IElement*Provider interfaces with update arrays.

## December 18, 2007

### Problem Reports Fixed

Bug 212638: Always save editors before launch preference should take effect immediately
Bug 213244: VariableAdapterService should also call IAdaptable.getAdapter() for adaptables that implement this method directly.
Bug 213212: ViewerAdapterService should use IAdapterManager
Bug 212314: DebugModelPropertyTester does not use the IDebugModelProvider adapter.

## December 14, 3.4M4

### Problem Reports Fixed

Bug 208039: Tweaks to context launching
Bug 208797: SelectedResourceManager.getCurrentSelection0() should use IAdapterManager
Bug 212420: Remove workaround for bug 99234
Bug 212145: [launching] Selection cannot be launched and there are no recent launches
Bug 210023: Another NPE in DefaultWatchExpressionModelProxy
Bug 202678: IViewerUpdate should have a method to return viewer input.
Bug 208034: [launching] Unexpected error when opening launch config dialog from resource properties
Bug 208127: breakpoint import does not work
Bug 211928: ExpressionDropAdapter makes implementation to IWatchExpressionFactoryAdapterExtension mandatory
Bug 212442: Failing import breakpoints tests
Bug 212581: [launching] widget disposed exception launching

## December 4, 2007

### Problem Reports Fixed

Bug 198428: Deadlock deleting launch configuration
Bug 211769: NPE in LaunchManager
Bug 211076: Debug annotations could allow all possible text styles

## November 27, 2007

### Problem Reports Fixed

Bug 210471: Cannot change the selected detail pane viewer.

## November 20, 2007

### Problem Reports Fixed

Bug 209920: While loading class SelectedResourceManager, thread timed out waiting
Bug 209668: The field org.eclipse.debug.core.DebugPlugin#INTERNAL_ERROR has changed value between HEAD and 3.3.0
Bug 184233: Expression view does not support alternative content providers
Bug 146825: [console] NPE in process console participant
Bug 205335: ModelContentProvider does not cancel stale updates when switching viewer input.

## November 13, 2007

### Problem Reports Fixed

Bug 208431: [launching] clicking checkbox twice disables OK button
Bug 208109: touching Environment tab makes launch config dirty
Bug 208707: (Console) Remove binding for show console view with CTRL+ALT+Q

## 3.4 M3 - November 2, 2007

### Problem Reports Fixed

Bug 207600: export configurations page does not update as text typed into export directory
Bug 205980: new artwork for export/import launch configurations
Bug 208084: Error writing to console
Bug 207293: Wrong context help for the builder properties dialog
Bug 85370: [string variables] string_prompt for passwords
Bug 205305: Add perspective extensions for newly moved log view
Bug 206407: AbstractMemoryRendering connect()s the wrong "this"
Bug 207157: Breakpoint Export action disposes shared Label Provider.

## October 23, 2007

### Problem Reports Fixed

Bug 198896: Actions "Open Debug Dialog..." and "Open Run Dialog..." labeled incorrectly
Bug 207079: NPE running test suites in I20071016-1215
Bug 206822: Debug views should indicate busy status while there are viewer updates in progress.

## October 16, 2007

### Problem Reports Fixed

Bug 12898: [launching] Import/Export of launch configs

## October 9, 2007

### Problem Reports Fixed

Bug 205207: [launching] '&' shows in run tooltip if debug plugins not loaded
Bug 204378: An internal error occurred during: "Compute launch button tooltip".

## October 2, 2007

### Problem Reports Fixed

Bug 90737: "Terminate All" action should be renamed to "Terminate/Disconnect All"

## September 24, 2007

### Problem Reports Fixed

Bug 203907: Run --> External Tools history menus not updated after organize favorites
Bug 203615: TextConsoleViewer leaks Cursors

## 3.4 M2 - September 21, 2007

### Problem Reports Fixed

Bug 202456: Variable Selection Dialog needs better help
Bug 202798: Breakpoint working set description
Bug 141009: [expressions] Add 'Watch' to the display view context menu
Bug 199125: Improve UI for breakpoint working sets
Bug 203253: Deleting config bring Run and Debug menus out of sync
Bug 202450: [Actions] Empty cascading menus show up as enabled
Bug 173156: [properties] process property page cuts off text
Bug 89178: [launching] Open Properties dialog by clicking "Run As..." with Ctrl key
Bug 188339: [scrapbook] Expressions from scrapbook does not convert to watch expression correctly
Bug 188385: context launch does not work with method in outline selected
Bug 203870: Launch tooltip not in synch with selection
Bug 202564: MessageConsole.clearConsole() flushes output queued up after the clearConsole call
Bug 203850: Expression order not always persisted
Bug 204033: Local configurations auto-deleted when project closed
Bug 204189: Always prompted to save launch configurations

## September 11, 2007

### Problem Reports Fixed

Bug 202059: Run dialogue: switching between read-only or removed launch configurations.
Bug 39875: [launching] Managing invalid launch configs
Bug 198785: Remove launch from Run/Debug drop down

## September 4, 2007

### Problem Reports Fixed

Bug 176508: [console] IOConsole Updater error with long output lines
Bug 199294: LaunchManager provokes NPEs when *.launch files are on remote EFS locations
Bug 137769: [launching] Launch history is not updated/Run Last Launched fails due to working set filter
Bug 198896: Actions "Open Debug Dialog..." and "Open Run Dialog..." labeled incorrectly
Bug 200185: Problem highlighting first position of source in debug mode.

## August 28, 2007

### Problem Reports Fixed

Bug 198545: Debug Core should use EMPTY_STRING constant
Bug 200831: Dragging text to bad location in expressions view does not update cursor
Bug 201239: Javadoc of ILaunchesListener should mention ILaunchesListener2

## August 21, 2007

### Problem Reports Fixed

Bug 200168: Keybindings on the Mac conflict with reserved OS bindings
Bug 200105: auto expand does not work in the async tree viewer
Bug 199500: Usability Problem in 'Save and Launch' Dialog
Bug 176627: [Registers view] Switching stack frames: Unnecessary scrolling to top and group closing
Bug 168574: Support for IElementMementoProvider on each element in a viewer
Bug 200595: reduce duplication of #getAdapter code for viewers

## 3.4 M1 - August 10, 2007

### Problem Reports Fixed

190873: [launching] Environment tab grows wider on each config selection
198437: EMPTY_STRING constant not used
177554: [messages] remove internal error messages from translations

## July 31, 2007

### Problem Reports Fixed

198248: NPE at org.eclipse.debug.ui.CommonTab.getDefaultSharedConfigLocation
197998: Workbench refuses to show Run or Debug dialog
197834: Expression Evaluation Failure with Generics
197145: [launching] Changing AutoSelect in LaunchConfigurationViewer from a LaunchConfigurationTab
197645: [launching] selection of encoding does twice as much work
197532: NPE in DefaultWatchExpressionModelProxy
185196: Debug selection dialogs should subclass AbstractDebugSelectionDialog
194598: 44% of time closing projects spent in LaunchManager#resourceChanged
194303: [launching] CME during "Compute launch button tooltip"
197000: [launching] Auto Launch Configuration deletion should be resource specific
174020: Background colour makes variable value unreadable in variables view
197698: [launching] Deleting launch config from LCD does not remove config
191379: Console encoding does not match workspace encoding
191382: JVM file encoding does not match console encoding

## July 17, 2007

### Problem Reports Fixed

191515: Some run menu actions are missing help context ids
193175: inconsistent action names for "Open Run/Debug/Profile Dialog..."
177554: [messages] remove internal error messages from translations

## July 10, 2007

### Problem Reports Fixed

175584: [expressions] Allow re-ordering of expressions in the Expressions View
195232: Outdated Run Toolbar tool tip
191723: A lot more classes being loaded than in 3.1
195461: calling dispose on LaunchConfigurationTabGroupWrapper can get a NullPointerException
48197: [Dialogs] Add Folders Selection Dialog should not list closed projects.
191071: Delete Unused Debug Help Context ID Constants
194458: CCE when dragging to Breakpoints View
193595: ProcessConsole is internal API but states that "Clients may instantiate this class." in the javadocs
47931: Copies of serializeDocument(Document)
66983: [evaluation] EmptyStackException from invalid condition
192212: Screenshots out of date in isv doc
193179: Should there be an 'add' button in the expression view toolbar?
191974: Concurrent modification exception
191636: [breakpoints] import breakpoints causes exception
189328: [Accessibility] Run dialog (Common tab) - controls do not provide labels
191388: TVT33:TCT635: pl: truncations in Perspective preferences panel
193432: Clicking link in Ant console should ensure resulting editor is visible
184057: Add drag and drop to expression view.