# Eclipse 3.3 Java Debug Build Notes

## Summary of API changes in 3.3

- added `IJavaThread.isDaemon()`
- added `IJavaThread.getFrameCount()`
- added `IJavaDebugTarget.supportsInstanceRetreival()`
- added `IJavaReferenceType.getInstances(int max)`
- added `IJavaObject.getReferringObjects(int max)`
- added `IJavaDebugUIConstants.PREF_ALLINSTANCES_MAX_COUNT` and `IJavaDebugUIConstants.PREF_ALLREFERENCES_MAX_COUNT`
- added support for access rules to be defined for libraries in an execution environment
  - An execution environment can define an access rule participant to contribute rules specific to an environment (see the new attribute `ruleParticipant` on the `environment` element of the `executionEnvironments` extension point).
  - Additionally an access rule participant can be contributed in isolation to participate in access rule creation for any execution environment (see the `ruleParticipant` element of the `executionEnvironments` extension point). The rule participant can create rules selectively based on project, JRE, and system libraries.
  - See the new interface `IAccessRuleParticipant` and the new method `IExecutionEnvironment.getAccessRules(...)`.
- added support to force early return from a method
  - added `IJavaStackFrame.canForceReturn()`, `IJavaStackFrame.forceReturn(IJavaValue)`, `IJavaDebugTarget.supportsForceReturn()`

## 3.3 RC3 - June 1, 2007

### Problem Reports Fixed

189845: NPE after 'New Detail Formatter'

## 3.3 RC2 - May 18, 2007

### Problem Reports Fixed

188300: Step Filtering pref page does not apply dialog font
188174: Breakpoints markers are lost when a JavaScript, Html, or XML file is saved.
188946: EditLogicalStructureDialog is not modal
188506: Edit Logical Structure Dialog has no F1 help
187000: Debugger looses selection/focus a lot on the thread stack where you debug.

## 3.3 RC1 - May 11, 2007

### Problem Reports Fixed

184857: Four images leaked each time exception breakpoint dialog is opened
182320: Buttons of 'Errors in Project' window aren't visible when there is a lot of projects
184862: [evaluation] evaluation in static method with generics does not work
153124: CCE while performing evaluation near autobox
185755: AddExceptionDialog has non-nls'd UI message
184863: NPE in JRE launch configuration tab
185018: Details values is incorrect for watch expressions with errors
185808: [help] No help topic found for the add source dialog
185666: Typo in type resolution error
178246: inspect/all instances popup should expand first element
173101: Inspector and Variables view incorrectly escapes single quotes in strings
184911: Actions not disabled in Variables View for dummy variables when showing references
184917: [jres] Mac always launches system default VM no matter what config says
186443: Remove dead code

## 3.3 Milestone 7 - May 4, 2007

### Problem Reports Fixed

126729: [jres] unable to retrieve system properties
175708: [breakpoints] Debugger stops without feedback
184211: JDI connectors throw NullPointerException if used separately from Eclipse
179685: JREContainerInitializer average initialization time
178729: [breakpoints] inconsistent behavior of breakpoint setting using double-click
184387: Add JRE wizard: JRE type default changed to Standard 1.1x VM
183532: Bug with debugging of generic methods
176275: [breakpoints] Method breakpoint filters do not work
161364: Evaluating Code that contains Generics does not work while debugging
153122: CCE performing eval of switch statement
151319: Detailed formater does not seem to recognize methods of the current class
151569: [console] Java stack trace console: after paste, link to exception too long
184883: Inspecting code results in flashing text in popup
186302: java.util.ConcurrentModificationException while trying to add jdk

## April 24, 2007

### Problem Reports Fixed

182237: Invalid thread access exceptions in Java Variables view.
182807: [breakpoints] NPE attempting to set breakpoint
169542: A ThreadGroup (and all its Threads) is not displayed in the Debug view when its parent didn't contain any threads
140330: [jres] Inconsistent JRE configuration with -vm option.
182992: Add/Edit JRE Dialog initial size too small on Linux
182890: Variables view: 'References' tends to clutter the view
182008: blank threads in debug view
148872: [source lookup] missing jar causes sourcepath computation to fail
183365: NLS33: Translation question

## April 17, 2007

### Problem Reports Fixed

178902: Setting Stop in main does not stop when launched
173479: Provide a quick fix for deprecated JRE variables
148965: Performance problem in detail pane when there is a lot of plugins.
182084: AIOOBE while stopped at BP
178279: Filter package action filters receiving type rather than declaring type
178979: Exception label not displayed in the debug view when using scrapbook
181548: Please rmdir org.eclipse.jdt.debug/jdi-bin from CVS and cvsignore it
170377: Stack traces frenetically appear and disappear when a breakpoint is hit
180667: Resume in loop selects another thread
177579: Hover's sticky affordance should use actual key binding
181914: NPE in BreakpointConditionEditor
182065: ClassCastException expanding inspect expression
182111: focus lost in the debug view while stopped at BP

## April 10, 2007

### Problem Reports Fixed

168841: JRERuntimeClasspathEntryResolver#isSameArchives() should be case insensitive on windows
178641: [performance] conditional breakpoint performance test failure
179122: [performance] breakpoint performance tests
181146: Preference page has two checkboxes "Suspend for breakpoints during evaluations"
173465: Show "(already running)" in tooltip for run/debug if it is
179840: Max length setting of 0 ignored
181152: 'Toggle Step Filters' action has bad name
179442: DBCS3.3: editing duplicated launch configuration won't be displayed
178282: [java 1.6] Force early return causing NPEs
180496: Use the new ClasspathContainerInitializer API for the JRE
179111: Numerous fixes for All Instances / All References features

## April 3, 2007

### Problem Reports Fixed

176004: 'All Instances' should work on actual type
178264: sash settings not persisted in eval popups
178860: Scrapbook page is not responding if an exception occurs during evaluation
179611: Breakpoints lost when JSP file saved
179121: JDIModelPresentation does not allow spaces in variable names
157055: [variables view] Right click on variable produces ClassNotLoadedErrors
175248: Variables view escapes Strings twice (too many \)
180460: NPE in BreakpointRenameProjectParticipant when renaming project
132795: [string variables] SelectedResourceManager leaks fSelectedText field when active editor is closed

## Milestone 6 - Mar 23, 2007

### Problem Reports Fixed

178795: NPE from add exception breakpoint dialog
178752: Run/Debug settings is not on project preferences page
178718: model proxy created for Java debug target in var view
178634: Deadlock while launching tests just after having started my workspace
152381: Error creating multiple watch expressions
177541: NLS33:translation questions
177570: All instances does not work when constructor is selected
176608: Debug view contains empty items at end
177348: Coalesce access to discouraged access of WorkingCopyManager
152641: [java 1.6] Provide all instances feature in JDT debugger
172402: Allow export of logical structure preferences
177383: NLS33:translation - typos
177138: Use different modifier for debug hyperlink detector
177423: All Instances action enabled in JavaEditor for pre-1.6 VMs
177424: Force return action is enabled for non-1.6 VMs
177382: [launching] Support for launching .class files lost
177542: NLS33:translation questions
177611: Remove illegal references to JavaEditor
177499: NPE while displaying content of an array
150652: [evaluation] Force early return
177753: Java shortcuts do not appear for .jar files
153887: [java 1.6] Provide an easy way to browse all references
154115: [java 1.6] Support for Java SE 6 debug features
178427: NPE in AllReferencesActionDelegate

## Mar 13, 2007

### Problem Reports Fixed

176814: Compiler warning in N20070309-0010
176866: Strange border in Java > Debug preference page
176853: Launch configurations go missing
176597: Variables view: Toggling primitive display options does not refresh view

## Mar 6, 2007

### Problem Reports Fixed

162987: [breakpoints] Renaming a class with breakpoints causes JavaModelException
176154: [refactoring] NPE in LaunchConfigurationProjectMainTypeChange while renaming project

## Feb 27th, 2007

### Problem Reports Fixed

175208: remove API constant introduced in 3.3
175202: Java launch config migration delegate
174216: Polish for "references not supported" element

## Feb 20th, 2007

### Problem Reports Fixed

161416: Allow for step through vs. step return using filters
172569: Ability to send custom JDWP commands
174779: [hot code replace] hot code place not triggered
174465: [preferences] [heapwalking] No accelerator for references option
152653: [java 1.6] All references
173687: NPE updating compiler compliance
170914: [variables] Logical structures cause infinite refresh in variables view
173620: Default Javadoc location for JDK 6 missing
112630: hyperlink debugging
173339: [launching] default main method search scope constraints are too lax

## Feb 13th, 2007

### Problem Reports Fixed

154233: [java 1.6] Make use of improved class prepare filtering
172539: Logical structures are not imported from preferences
153060: Internal Error when changing boolean variable by hand in debugger
173714: NPEs under JavaStackTracePageParticipant while debugging
173188: [launching] User must choose between main types even if selection is a main method
173909: 'Skip All Breakpoints' command does nothing
173304: NPE in EditDetailFormatterAction when called from context menu of Variables view
173860: NPE in packet send manage running test suite

## Milestone 5, Feb 9th, 2007

### Problem Reports Fixed

173182: NPE from ExceptionInspector when shutting down workbench
172205: [breakpoints] Suspend... menuitem has no icon in Linux
172181: Bad "Suspend VM" and "Suspend Thread" behaviour in Breakpoints view
172093: Debugger attempts to set wrong type of bp in final instance variable of type Runnable
172989: NPE when disabling breakpoint
173187: Line Breakpoint changes unclear during refactoring
172668: Cannot add Exception breakpoint for type name that does not inclue 'Exception'
169139: Launch configuration should check .class compability, not compiler compliance level
171075: Java Editor Disconnecting Debug Session
172348: Dialog to add exception breakpoint extremely slow
162399: Problem in the implementation of the support of JSR-045
165969: API to allow a contributed JRE and variables to be re-initialized
170603: Bad usability of Java Exception selection dialog
172516: use the new 'deprecated' and 'read-only' classpath variables
173152: missing element in tree when 'no monitor information'
173193: [applets] Search for applets returns results that are not applets
172530: NPE in AbstractJavaMainTab

## Jan 30, 2007

### Problem Reports Fixed

171984: Open the Breakpoint Properties dialog on a key stroke
171915: Installed JREs pref page opens very wide
171787: javadoc warning in N20070126-0010

## Jan 23, 2007

### Problem Reports Fixed

171286: HCR failed dialog should present launch label as well as the target label
170966: Logical Structures preference page doesn't update when structure edited
171567: [launching] NPE from Launching plugin if constructor does not get called
170494: [variables view] add new logical structure dialog content assist available when it shouldn't be

## Jan 16, 2007

### Problem Reports Fixed

170322: Breakpoint properties page: condition field should resize vertically

## Jan 9, 2007

### Problem Reports Fixed

169768: Cannot add external library if JRE dialog has selection
170706: keywords not externalized
169565: NPE in JDIDebugTarget when querying supportsInstanceRetrieval
78960: watch expression testStepping fails
169683: javadoc warning in N20070105-0010
169066: Removing a watch from the Expressions fails
169104: Debug setting "SuspendOnUncaughtExceptions" saved with wrong key
167638: [launching] main method search for launching returns types without main methods
168090: Anonymous Inner Class Breakpoint Canceled by Other

## 3.3 M4 - Dec 15, 2006

### Problem Reports Fixed

167740: [variables] [views] New/Edit details formatter menu should not be available on array types
167651: [vms] ArrayIndexOutOfBoundsException editing a source location
168455: provider name not provided in jdt.launching plugin
163376: JRE container is not initialized
152962: CCE in JREsPreferencePage.getCurrentCompilerCompliance(..)
153796: [breakpoints] can set more than one breakpoint on line
167531: Javadoc warnings in I20061211-1607
165988: TcpipSpy borked

## Dec 11, 2006

### Problem Reports Fixed

167244: "Exception occurred: Evaluation failed - thread not suspended.." in Variables view
167182: JDIDebugTarget.handleDebugEvents not using getAdapter when identifying the event source
166976: [jres] JRE container classpath entries not computed properly per project
166290: [views] contended locks and monitors should support ITerminate and ISuspendResume
152962: CCE in JREsPreferencePage.getCurrentCompilerCompliance(..)

## Dec 6, 2006

### Problem Reports Fixed

163444: Associate access restrictions with execution environments
166689: [plugins] the jdt.debug plugins should be save participants
165845: com.sun.jdi.event.MethodExitEvent.returnValue() not working properly

## Nov 28, 2006

### Problem Reports Fixed

165223: Starting SDK with a 1.6 VM doesn't set the compiler preferences to 6.0
164703: testEclusiveScopedException and testMultiExclusiveScopedExceptionMissed fail on IBM Java2 1.5.0

## Nov 21, 2006

### Problem Reports Fixed

163463: Template method call needed in JDIDebugTarget.createThread
148424: VM Capabilities only available from Target
164476: division by zero error selecting columns
16929: [evaluation] Eval: should have got runtime NPE
164471: NPE when sending a message to "null" in expression eval
158280: CCE in JDIObjectValue.getEnclosingObject
162589: "Run As" not enabling "Java Application" for Inner class "main" method unless outer class also has main
162752: [details] support details for multi-dimensional string arrays
164650: thread groups should implement ITerminate

## Nov 14, 2006

### Problem Reports Fixed

164548: vm name background is always white
163836: StackOverflowError in JavaLaunchableTester.hasMainInChildren(..)
164376: NPE in JavaDetailFormatterManager
164359: NPE retrieving instance id for null value

## Nov 6, 2006

### Problem Reports Fixed

163463: Template method call needed in JDIDebugTarget.createThread
162902: [jres] "cancel" button should probably be "stop" for JRE search
162899: [jres] Initial size of "add jre dialog" is too narrow

## 3.3 Milestone 3 - Nov 3, 2006

153913: step over action becomes disabled
161243: details for multi-dimensional arrays
162366: org.eclipse.jdt.debug.tests.testSimpleStepFilter/testInactiveStepFilter depend on VM behavior
162675: Javadoc warnings in N20061028-0010
162665: Warnings in N20061028-0010
162368: Include JRockit-internal classes in the default step filters

## Oct 24, 2006

### Problem Reports Fixed

161895: Compile errors in N20061022-0010
161537: JDT/UI test failures in N20061018-0010
152539: Usability: Hot code replace failed dialog is a little panic-inducing
157907: [variables view] Preferences action should use PreferencesUtil to open pref pages

## Oct 10, 2006

### Problem Reports Fixed

160129: Chkpii error in latest build

## Oct 3, 2006

### Problem Reports Fixed

159815: isRemote(...) test performed 5 times for each variable selection
160006: Chkpii error in latest build

## Sept 22, 2006 - Milestone 2

### Problem Reports Fixed

157042: [java 1.6] Need way to input counts for all instances / references
157489: Package "org.eclipse.jdt.internal.debug.ui.variables" not exported
39222: [java launching] Renaming my installed JREs broke all my launch configs
157467: Not able to add breakpoints to a static initializer
155123: Error message in the log from implementing an extension

## Sept 11, 2006

### Problem Reports Fixed

156320: Unchecked conversion from IJavaDebugTarget to JDIDebugTarget
153793: JavaJRETab.checkCompliance() logs message when project is closed
153472: [all references] CCE selecting variable with null value

## Aug 14, 2006

### Problem Reports Fixed

152572: PDE Tools > Update Classpath... creates wrong warning when no perfect match

## Aug 10, 2006 - Milestone 1

### Problem Reports Fixed

74854: [breakpoints] Ctrl+B should set a method breakpoint if invoked from the method signature
152446: Problem with multiples JREs
151517: [breakpoints] Can't set Class Load Breakpoint like other breakpoints
149999: Use ComboFieldEditor from JFace
124147: [jres] Changing installed JRE doesn't warn when compiler compliance is not compatible
152962: CCE in JREsPreferencePage.getCurrentCompilerCompliance(..)
152964: Wrong error about incompatible JRE in launch configuration dialog
153256: 'Add JRE' dialog layout problems
139195: [breakpoints] Error on Toggle method breakpoint in external .java file
153336: [breakpoints] translateToMembers is called too many times

## July 31, 2006

### Problem Reports Fixed

151996: OpenTypeAction source lookup performance
151709: JRE tab should show what JRE is bound to an EE
151474: Minor tweaks to the VM Capabilities property page
151586: thread label problem for suspend on compilation error
151570: Java stack trace console: NPE in FormatStackTraceActionDelegate
149874: JUnit Launcher duplicates classpath entries
141570: [variables] CCE when array partition part of multi-selection
138877: Unable to locate source when clicking in console

## July 18, 2006

### Problem Reports Fixed

150563: Unused NLS message warning
147743: [console] New icon for stack trace "auto format" toggle
148985: use new API JavaUI.openInEditor

## July 11, 2006

### Problem Reports Fixed

149356: Remove JavaElementPropertyTester
149356: [help] the new VM capabilities property page has no help topic

## July 4, 2006

### Problem Reports Fixed

133725: [java launching] Add External Jars dialog does not check if the jar file actually exists
148918: [jre] remove discouraged access warnings in AddVMDialog
149491: cannot create watchpoints on final or static final members

## June 27, 2006

### Problem Reports Fixed

141329: vm disconnect when terminating target with thread groups showing
147777: mirrorOfVoid() to appear on VirtualMachine
148362: DisplayView registers Ctrl+Space globally
145592: Debugger gets confused with watchpoints on fields with the same name.
145350: JDI Enhancements for Java 6.0
145362: JDI test suite needs to be updated for 1.6 tests
147773: [debugger] determineIfDaemon throws exception
24484: [jres] VM Properties
148247: [launching] Creating launching configurations doesn't use the selected class anymore

## June 20, 2006

### Problem Reports Fixed

42399: [java debug] JDI Java thread has no daemon property
140126: [evaluation] CompletionContext shouldn't be instantiated by clients of JDT/Core API
139152: [preferences] Java->Debug preference page validates uninitialized fields
132671: [variables] Error dialog after clicking into value field
143286: [display view] wrong name for viewaction
147116: [Context Help] missing F1 help for console actions
140109: [help] Dynamic help is not displayed in the Working Directory of Launch configuration Arguments tab
140107: [applet] [help] The context help of Java applet configuration could not be found
147484: broken Find/Replace context menu label in Display view
90768: [console] Java Stack Trace Console: Option to format per default
146825: [console] NPE in process console participant
146648: Code Clean up.
138864: [variables] IllegalArgumentException while updating variables view

## June 13, 2006

### Problem Reports Fixed

146899: test failure on JavaSE6 - ExecutionEnvironmentTests.testAnalyze
119860: [evaluation] NPE from watch expression
139089: [breakpoints] NPE in JavaBreakpoint.fireRemoved () shutting down eclipse with Java Debug session running
142842: [breakpoints] ToggleLineBreakpoint: Invalid thread access