# Eclipse 3.2 Java Debug Build Notes

## 3.2 RC6 - May 26, 2006

### Problem Reports Fixed

143579: Adding library fails when contributing 2 VMs

## 3.2 RC4 - May 12, 2006

### Problem Reports Fixed

140828: JRE_CONTAINER is not directly compatible on Mac
140179: Name of default JDK set to Home
140547: NoSuchElementException
140874: No version range specified when requiring bundles
140888: No version range specified when requiring bundles
136372: Remove transient 3.2 JRE container EE formats

## 3.2 RC3 - May 05, 2006

### Problem Reports Fixed

125868: Invalid Thread Access when launching
139579: "New Scrapbook Page" Icon Suffers Gigantism
139581: JDT launching has an unnamed marker type
137339: Edit JRE dialog buttons are not visible when vmargs is very long

## 3.2 RC2 - April 28, 2006

### Problem Reports Fixed

128900: Debug view steals focus when breakpoint hit
136670: StandardSourcePathProvider causes expensive JAR verification
134865: VMDisconnectedException not caught by breakpoint
124274: debug keybindings not active on first launch
120596: Should warn when no exact match for execution environment on build path
132619: Can't Add Installed JREs with Simplified Chinese folder name.
136146: JRE container with EE is not backwards compatible with 3.1
137372: warning for EE/JRE mismatch does not appear when JRE deleted
137572: not present exception
112774: Performance of JavaStackTraceHyperlink.getSourceElement()
138227: Need new property tester to be used by JUnit 4
120620: Static variables show up twice in Find Variables Dialog
127025: system thread filter loses selection/collapses on first invocation
127232: variables view loses contents
133623: Show Source action does not trigger lookup
136516: recognize J9 foundation JREs
137513: Internal error when stepping quickly
137513: Internal error when stepping quickly
118512: NPE evaluating detail formatter calling method without this.

## 3.2 RC1 - April 13, 2006

### Problem Reports Fixed

133914: Instance Filter Breakpoint Selection dialog is not resizable
89474: [polish] Installed JRE pref page: Modify multiple attributes at once
8644: Can add modification watchpoint to final field
130916: can set method breakpoint on interface and watchpoint on interface field
102446: Intalled JREs preference pages not in synch with help
106871: Top stack frame null at method refresh in org.eclipse.jdt.internal.debug.ui.actions.ShowSystemThreadsAction
134114: [Java 1.5] Test failure in StepIntoSelectionTests
135270: Potential NPE in ToggleBreakpointAdapter
107385: Detail formatter on interface cannot be editted or removed
46315: Scrapbook actions wrongly disabled after inspect or execute
89636: Undo/Redo does not work in Scrapbook editor
109073: Classpath container missing from runtime classpath
114604: Non-Line breakpoints do not update their selection ranges after refactorings which change the type or package name.
123588: Losing key binding in scrapbook page
132986: new variables view: show id in first column or a special column for the id
133540: thread does not show suspended on class load breakpoint
135658: Breakpoint properties dialog quickly shows an error message
132543: Method breakpoint does not work on generic method with bounded type variable
105767: Javadoc missing from IRuntimeClasspathEntry entries
120627: Javadoc location reappears after I've cleared it
134694: Installed JRE preference page should suggest name
136383: [NPE] changing filters when type is selected in LCD
136386: [LCD] run/debug button enabled when it shouldn't be
136638: NPE in debug UI

## 3.2 Milestone 6 - March 31, 2006

### Problem Reports Fixed

133711: [Breakpoints] Breakpoint hit count busted
132750: need to adopt ICU4J APIs
133217: Suspend policy combo should be read only
132863: Launching a simple java program in a plugin project needs ages
133512: NPE when clicking on a stacktrace

## March 21, 2006

### Problem Reports Fixed

77125: Preference for suspending VM on breakpoint
74612: Step filtering pref page should allow you to enable step filters
124045: Launching Java 5 VM in debug mode
110837: javax.crypto.KeyAgreement.getInstance(String) throws exception in IDE
131414: labels don't update when primitive options changed
131557: Import JRE definition settings also for already existing locations
27383: classpath entries get exported into other projects even though I said not to [build path]
96248: Support for multiple src roots in archive
132337: suspend on uncaught exceptions broken
118122: Removing External JARS within an Installed JRE definition
120619: Add/Edit JRE dialog: remove should remove src attachment, not jar

## March 14, 2006

### Problem Reports Fixed

80744: Ability to inspect exception object at exception beak point
130717: Runtime JRE Combo on Main lauch configuration tab should show more items
94212: Cannot set method breakpoint in generics
104754: No command for Run > Watch
129524: Inconsistent terminology for derived types in pop-up menus
130743: SWT 'setdata' event now contains item index
116336: Using Enums breaks Debbugger's "Step into selection" feature
130369: Additional menu polishing

## March 7, 2006

### Problem Reports Fixed

130145: Method entry breakpoint fails on method with Enum parameter
126938: Cannot import Installed JREs from preference file
128307: Incorrect thread label after stepping
128909: Preferences (Installed JREs) overridden during startup
130243: EventRequestManagerImpl holding onto event requests forever

## February 28, 2006

### Problem Reports Fixed

125590: consider caching system properties for IVMInstall
106789: Run menu: Folder selector shows files, too
120135: catch up with new type rename refactoring support

## February 21, 2006

### Problem Reports Fixed

108747: applet parameters in random order

## 3.2 M5 - February 17, 2006

### Problem Reports Fixed

126437: Incorrect error reporting in AbstractJavaLaunchConfigurationDelegate
124565: Change Object Value dialog adds new Group each time "Input literal text" is selected
125196: Installed JREs preference page layout problems
127136: Incorrect logic in AppletMainTab.handleSearchButtonSelected
120123: maintain config resource mapping during refactorings
127150: Dialog missing help button
127195: Problems after project rename
123284: Environment UI tweaks
127298: filtering label does not expand for font changes
122746: JavaDebugHover.getHoverInfo(...) logs exceptions
127100: ShowSystemThreadsAction is not using getAdapter to retrieve the associated IJavaThread object
126515: NPE when retrieving a non-existent field on an IJavaObject
127204: NPE in LaunchView$6.run
127353: grammar in Refactoring messages
127350: Review JDTDebugRefactoringUtil.getJavaTypeLaunchConfigurations(String)
127156: package move launch config update problem
126942: AIOB during launch
127545: widget disposed in Expressions view
127800: NPE from Java debug hover
128052: Thread Groups always on in target workspace
127815: First invocation of "run to line" does not work
127924: Leak: JavaInspectExpression is not disposed

## February 7, 2006

### Problem Reports Fixed

126183: behavior change in IJavaProject.findType(name)
126244: Exception changing variable value
125661: Javadoc is not generated for jdt.launching.environments
124137: unable to retrieve system properties
12018: show thread groups in the Debug view

## January 31, 2006

### Enhancements

- Added new API class for subclassing when creating Java launch tabs - JavaLaunchTab.
- New extension point `org.eclipse.jdt.launching.vmInstalls` to contribute read-only JRE configurations

### Problem Reports Fixed

124828: A class with varargs in main method cannot run as Java Application
109211: [api] Require public api to extend Java Launch Configuration UI
101843: allow debugger to provide watch expression for var/register
125332: Compile error in test suite (N20060126-0010)
119922: mechanism to contribute VM install

## January 24, 2006

### Problem Reports Fixed

124418: JavaDebugPreferencePage and incorrect preference stores
124491: Deadlock in EnvironmentsManager
124137: unable to retrieve system properties
124419: J9 Preference page not setting the dialog font on the notice string

## January 17, 2006

### Enhancements

- New, optional API for IVMInstall. VM installs may optionally implement IVMInstall3, providing access to system properties. A default implementation has been provided in AbstractVMInstall.

### Problem Reports Fixed

115150: Exception and Class load breakpoint should use new type selection dialog
105573: suspend at uncaught exception shows compiler warning
28792: New created Java Exception Breakpoint isn't selected
71549: 'Add Java Exception Breakpoint' dialog should support multiselections
121341: dot dot dot
117289: VMDefinitionsContainer#parseXMLIntoContainer() reads an XML file with wrong encoding.
119918: API to get system properties from a vm install
122338: Installed JRE UI message confusing
123860: Java launch shortcuts don't assign resource to configs

## January 10, 2006

### Problem Reports Fixed

122751: SnippetDocumentFactory is not needed.
120943: Cannot select Default option in working directory block
114867: Launching connector implementation of eclipse reports TimeoutException while Sun's implementation works

## 3.2 M4

### Problem Reports Fixed

119924: Build path not updated when default execution environment changed
120385: transport error = -1
117717: NPE in BreakpointRenameTypeParticipant when renaming type in cu without primary type
118076: ResourceException: Problems encountered while deleting resources
120533: strange name for unresolved JRE
120886: debug test not cleaning before next test runs
114647: Run as menu slow in editor for applet

## December 12, 2005

### Enhancements

1. API has been added in support of execution environments. An execution environment describes features of a runtime - for example, J2SE-1.4. A new API package has been added - `org.eclipse.jdt.launching.environments`, as well as a new preference page for managing environments. An extension point (`org.eclipse.jdt.launching.executionEnvironments`) has beed added to allow for an extensible set of execution environments to be contributed to the platform.

### Problem Reports Fixed

115015: Installed JRE page needs a "Duplicate" feature.
119572: Typo in IExecutionEnvironment javadoc
119636: Catch up to changes in LazyJavaCompletionProposal
119761: Typo on EE preference page
117516: Make JDT .java agnostic
119371: A missing EE optional attribute causes an SWT error
119390: NPE from
119462: EE checkbox table does not refresh correctly
119581: EE preference page flags bogus errors and does not save.
119814: Execution environment ID may contain forward slashes
113909: Support for execution environments
118232: Error in MethodActionFilter.testAttribute(...)
119926: Installed JREs page generates bad names
119611: Java Stack Trace Console: source link does not work without space before type name
119911: Graphic disposed error on Execution Environments preference page
119916: Execution Environment preference page breaks Installed JREs Copy...

## December 6, 2005

### Enhancements

- New API action for Java debugger - JavaBreakpointPropertiesRulerActionDelegate

### Problem Reports Fixed

116291: Cannot resume all threads
112613: Debug's Breakpoint actions act on remote stuff
118635: Duplicate breakpoints created for file not on buildpath

## November 29, 2005

### Problem Reports Fixed

108502: action filters for variables and expressions shold be combined

## November 22, 2005

### Problem Reports Fixed

49115: Cleanup on VMDisconnectException
114590: breakpoint checked state problems
115618: Mnemonics collision on Arguments tab of java launch config dialogs

## November 8, 2005

### Problem Reports Fixed

114609: Java main tab/shortcut should use new type selection dialog
114166: Refactoring of 'Main' tab for Java type launch configurations

## November 2, 2005 - M3

### Problem Reports Fixed

114484: Installed JDK preference page broken
114589: NPE invoking content assist in var view

## October 31, 2005

### Problem Reports Fixed

113697: Added libraies to JRE not persisted
113857: NPE in org.eclipse.jdt.internal.corext.util.JavaModelUtil.getAllSuperTypes
99810: ClassLoadBreakpoint not updated after refactoring
99803: Line Breakpoint Label not updated after refactoring
99807: Breakpoint removed after renaming a class
112232: Changing home directory of installed JRE does not update system libraries
113852: NPE in display view when code assist with no debugger context
114081: Undo fails when renaming type with breakpoints
96044: Breakpoint enable/disable state not preserved during refactoring

## October 25, 2005

### Problem Reports Fixed

113154: launchable main type not correctly detected
110955: NPE in JavaElementPropertyTester
112456: Would like a VM install change event for VM arguments property
113488: exception in scrapbook page
29565: Working Directory UI

## October 18, 2005

### Enhancements

1. `IVMInstallChangedListener` has been enhanced to provide change notification for VM arguments via a property change event. A new property identifier, `PROPERTY_VM_ARGUMENTS`, has been added to indicate VM arguments have changed.
2. Property tests have been added to the core Java debug plug-in (org.eclipse.jdt.debug), to support launch short enablement expressions. By pushing common property tests down to the core Java debug plug-in, more launch shortcut enablement expressions will run even though their plug-in may noe be loaded (as the Java debug plug-in is loaded earlier on), resulting in fewew choices in the run/debug cascade menus. Property tests have been added for the following.
   - hasMethod
     - requires two arguments: method name and method signature in JLS format, for example "`main, ([QString;)V`" or "`main, ([Ljava/lang/String;)V`"
     - third argument is optional: method modifiers as an integer bit mask based on `org.eclipse.jdt.core.util.IModifierConstants`
   - hasSuperClass - expected value specifies fully qualified type name of a super class (does not consider interfaces)
   - hasImport - expected value specifies fully name of import to match in JSL format, for example "`java.io.File`" or "`java.io.*`". Only works on compilation units.
   - hasSwtOnBuildPath - whether the associated element's build path contains a reference to "swt.jar" or the "org.eclipse.swt" plug-in
   - hasItemOnBuildPath - expected value specifies a substring to match. Returns true when the associated element's build path contains an entry containing the given substring.
   - matchesJavaFileExtension - returns true if the associated element has a resource adapter that has a .class or .java file extension.
   - matchesContentType - expected value describes a content type as desribed by the `IContentTypeManager`
   - hasProjectNature - expected value is a project nature
   - implementsInterface - expected value is a fully qualified name of an interface

### Problem Reports Fixed

112455: Change JavaElementPropertyTester to not use JavaModelUtil.getAllSuperTypes
104104: Make 'hasMainType' and 'isApplet' property tests part of launching plug-in

## October 11, 2005

### Problem Reports Fixed

109358: Default installed JRE has no Javadoc Location

## October 4, 2005

### Problem Reports Fixed

111136: JavaStackTraceHyperlink broken.
111256: multiple hyperlinks on the same line not painted correctly

## September 27, 2005

### Problem Reports Fixed

110191: ArrayIndexOutOfBoundsException in ExpressionInformationControl
110021: Java 5 inconsistency

## September 20, 2005

### Problem Reports Fixed

99416: Evaluation in context of superclass fails to resolve instvar in subclass
103026: When detected a 1.5 JDK on a fresh workspace as a default the default compiler complaince should be switch to 5.0
109392: JavaRuntime.detectDefaultVM changes my options

## September 13, 2005

### Problem Reports Fixed

108426: In debug mode, when hoovering over constants, their value should be showed
106682: Java debug code assist inconsistent
108498: Toggle watchpoint for field in external source
108505: refactor debug 'open type' actions
108640: jdi model presentation missing dispose method

## Aug 23, 2005

### Problem Reports Fixed

29565: Working Directory UI
86066: testJavaVersion() failure on mac

## Aug 16, 2005

### Problem Reports Fixed

106748: details fail for interface defined in the default package

## Aug 10, 2005

### Problem Reports Fixed

106479: Exception Processing async thread queue
106492: NPE on console during debug session
106489: CCE from watch Expression
106660: Array details for type in default package fails
106665: array details fail for interface types

## Aug 8, 2005

### API Changes

1. #### API contract changes to IJavaReferenceType

> #### What is affected: Clients that call `IJavaReferenceType.getClassLoaderObject()`.

> Description: In Eclipse 3.1, the method `org.eclipse.jdt.debug.core.IJavaReferenceType.getClassLoaderObject()` was added to `IJavaReferenceType`. The method was not specified to return `null`, but could. In Eclipse 3.2, the specification has been updated to indicate that `null` is a valid return value. The behavior of the method has not changed, but callers should be aware that `null` can be returned and should add appropriate checks.

> Action required: Clients calling `IJavaReferenceType.getClassLoaderObject()` should be modified to handle `null` as a return value.

### Enhancements

1. Evaluations in the Java debugger are now supported in the context of array objects. The user may select a variable in the Variables View that references an array and enter an expression in the details area using `this` to refer to the array - for example, `"this.length`". Code assist also works for arrays. The API for evaluations has not changed although the behavior has. In releases prior to 3.2, `IAstEvaluationEngine` used to throw an exception when an evaluation was attempted for a receiver object that was an array. In 3.2, the evaluation proceeds.
2. The UI for editing a JREs libraries has been improved. In 3.1 and earlier, users were required to uncheck the button labelled '`Use default libraries`' in order modify library settings. This button has been removed and the function has been replaced with a '`Restore Defaults`' button, which is a more common style in the Eclipse UI.

### Problem Reports Fixed

105965: IJavaReferenceType.getClassLoaderObejct() can return null
25362: Cannot evaluate in the context of an array
106091: Code assist for eval in context of an array
106243: clear detail formatter cache when 'max detail length' pref changes
106361: NPE when adding a new JRE

## Aug 2, 2005

### Enhancements

1. Added NL support for images.

### Problem Reports Fixed

105255: [BIDI] need to add $nl$/ to icon paths for reversed icons

## July 26, 2005

### Problem Reports Fixed

103700: ClassCastException when evaluating assigment of array of interfaces
101075: Cannot assign array type to local variable of type Object.
98141: Evaluation in context of interface fails
103326: NPE executing step into command
81045: ClassNotLoadedException when trying to change a value
104654: Breakpoint on label is not honoured
102427: Cannot inspect/display static import methods