Eclipse 3.4 Java Debug Build Notes
Summary of API changes in 3.4
Java Launch Shortcuts
The core Java launch shortcuts are available to be extended/reused.
The following classes are provided as API in the package org.eclipse.jdt.debug.ui.launchConfigurations
:
JavaAppletLaunchShortcut
- the standard implementation for Java applets, used in the platform
JavaApplicationLaunchShortcut
- the standard implementation for Java application, used in the platform
JavaLaunchShortcut
- an abstract implementation of a shortcut to launch Java artifacts, used as the parent class to the two aforementioned classes
The methods exposed to consumers from the parent class JavaLaunchShortcut
and through the
two subclasses are:
-
getConfigurationType()
- returns the type of configuration this shortcut creates
-
createConfiguration(IType type)
- creates a launch configuration for the specified IType
-
chooseType(IType[] types, String title)
- allows an IType
to be selected from the given list
-
findTypes(Object[] elements, IRunnableContext context)
- searches for specific IType
s from the given list of elements
-
getTypeSelectionTitle()
- returns the title for the type selection dialog used by the shortcuts for user input
-
getEditorEmptyMessage()
- returns the error message displayed to users who try to use one of the shortcuts on an empty editor
-
getSelectionEmptyMessage()
- returns the error message displayed to users who try to use the shortcut on an empty selection
-
findLaunchConfiguration(IType type, ILaunchConfigurationType configType)
- searches for a launch configuration associated with the specified IType
and configuration type
-
chooseConfiguration(List configList)
- selects a specific configuration from the specified listing
-
getShell()
- returns the shell used for the Java launch shortcuts
Support for Execution Environment Descriptions
An installed JRE can be defined by an execution
environment description file. A new 'Execution Environment Description'
VM install type shipped with the Eclipse SDK supports standard ".ee"
files.
API has been added to JavaRuntime
to create a VM from an execution
environment description file. A name and unique identifier must be provided
to create a new JRE.
public VMStandin createVMFromDefinitionFile(File eeFile, String name,
String id)
A new method has been added to AbstractVMInstallType
to allow
default arguments to be provided for newly created VM installs. Ideally, this
method would be added to IVMInstallType
, but to support binary
compatibility, the method has only been added to AbstractVMInstallType
.
Existing subclasses may override as required. The method is consulted to initialize
VM arguments when a new Installed JRE is created by the user. This new method
accepts a home directory or definition file as an argument.
public String getDefaultVMArguments(File installLocation)
Support for custom wizard pages used to edit VM installs
An new extension point (org.eclipse.jdt.debug.ui.vmInstallPages
)
allows a wizard page to be contributed for editing the properties of an IVMInstall
.
The page is used when adding or editing an installed JRE via user preference.
A standard page is provided based on the IVMInstallType
and IVMInstall
interfaces. JDT contributes a page for editing a JRE based on an execution environment
description file.
Support for setting a range of values in array objects
API has been added to IJavaArray
to support setting ranges of
values in the arrays. It is more efficient to set a range of values at once
than setting each value in an array individually as it uses fewer communications
with the virtual machine being debugger. The following methods have been added
to IJavaArray
.
public void setValues(IJavaValue[] values)
public void setValues(int offset, int length, IJavaValue[] values,
int startOffset)
New API methods on IJavaDebugTarget
The following API methods have been added to IJavaDebugTarget.
public boolean supportsSelectiveGarbageCollection()
public String getVMName()
public String getVersion()
New API methods on IJavaObject
public void enableCollection()
public void disableCollection()
public long getUniqueId()
New API preference constants (IJavaDebugUIConstants
)
PREF_ALLINSTANCES_MAX_COUNT
PREF_ALLREFERENCES_MAX_COUNT
June 4, 2008
Problem Reports Fixed
Bug 235448: Expanding variables is extremely slow if both logical structures and show references are turned on
Bug 235623: Logical Structure in Variables view shows "Exception occurred" for HashMap
Bug 235647: [tests] Regression tests for Logical Structures
June 3, 2008
Problem Reports Fixed
Bug 205479: [doc] Update help for new JRE from EE file wizard
June 2, 2008
Problem Reports Fixed
Bug 233038: [doc] Broken link in Java Launch Config > Main Tab help
May 29, 2008
Problem Reports Fixed
Bug 229394: [CellEditors] NPE from JFace when using cell editor in variables view
Bug 232096: degradation in Remove Line Breakpoints perf test
May 28, 2008
Problem Reports Fixed
Bug 234027: NPE in Variables view
Bug 232576: Error during evaluation
Bug 234471: Infinite loop running evaluation tests
May 14, 2008
Problem Reports Fixed
Bug 232060: BIDI algorithm in JDISourceViewer is wrong
Bug 228985: JREsPreferencePage.java resizing problem
May 7, 2008
Problem Reports Fixed
Bug 229857: Char variables values cannot be edited in Variables View
May 6, 2008
Problem Reports Fixed
Bug 230333: LaunchingPlugin class: use JavaCore constant instead of string value
Bug 229380: Up/Down buttons incorrectly enabled on classpath tab
Bug 229347: error evaluating: NPE
Bug 228597: State change in progress for bundle starting JUnit tests
May 5, 2008
Problem Reports Fixed
Bug 229972: NPE deactivating console
Bug 229266: NPE while debugging
3.4 M7 - May 2, 2008
Problem Reports Fixed
Bug 223455: Support variables view in hover information control
Bug 228673: [classpath] Use BuildPathDialogAccess for archive selection in workspace
Bug 215208: [breakpoints] Unable to unset breakpoints within inline interface implementations
Bug 186020: [breakpoints] toggle method breakpoint in external file
Bug 223951: hot code replace causes deadlock
Bug 229335: Class cast exception entering console input
Bug 229173: VM breakpoint hit immediately selects wrong thread
Bug 229343: Should not auto expand/select for scrapbook
Bug 229003: Variable display in debug does not escape newlines in char variables
April 22, 2008
Problem Reports Fixed
Link: jdtdebug fails to give test results when using IBM Java 1.4.2 or 1.5.0
April 15, 2008
Problem Reports Fixed
Bug 161781: Suspend status ignored on initial remote debug connection
Bug 225377: Debugging a simple program opens editor for Object.class
Bug 227014: BIDI3.4: Editor for Adding watch expression should not be mirrored
April 8, 2008
Problem Reports Fixed
Bug 225347: [preferences] Adopt content assist colors from Platform UI
Bug 224717: Installed JREs page is huge when opened
Bug 225097: Get rid of outdated context Id "org.eclipse.ui.globalScope"
April 1, 2008
Problem Reports Fixed
Bug 161781: Suspend status ignored on initial remote debug connection
3.4 M6 - March 28, 2008
Problem Reports Fixed
Bug 220784: Allow EE files to use path list in -Dee.src property until closer to M6
Bug 223530: Step into Selection hyperlink is broken
Bug 208040: Inspect and other popups should automatically select first item
Bug 184928: [variables] stepping with logical structures loses selection
Bug 184925: Stackframe shows "running" icon while it is suspended
Bug 221915: Clean up javadoc tags
Bug 217855: [expressions] static/final filters have no effect on watch expressions
Bug 220369: [api] JavaSnippetEditor Illegally instantiates JavaModelException
Bug 218717: Remove quote requirement from ee files
Bug 218955: EEDefinitionTests Failure
Bug 184928: [variables] stepping with logical structures loses selection
Bug 223844: Step into Selection hyperlink does not use stored region
March 20, 2008 (3.4M6 warm-up)
Problem Reports Fixed
Bug 223009: JDT debug test failures
March 18, 2008
Problem Reports Fixed
Bug 212655: Thread not suspended error during evaluation
March 11, 2008
Problem Reports Fixed
Bug 222062: jdt.launching has an old copy of ListenerList implementation
March 4, 2008
Problem Reports Fixed
Bug 220570: Use new simpler Text API
Bug 217707: Installed JRE dialog does not open (page contains invalid values)
February 19, 2008
Problem Reports Fixed
Bug 218872: Installed JREs pref page, remove button disabled but hot key still works
February 12, 2008
Problem Reports Fixed
Bug 217350: Preferences > Installed JREs > Edit... has wrong labels for tree item
Bug 217939: Java doc location button not disabled initially
3.4 M5 - Feb 8, 2008
Problem Reports Fixed
Bug 212439: Unable to change variable value when stopped in JSP
Bug 214650: Execution Env description file allows only one source archive
Bug 217447: JREContainer keeps getting initialized if problem with EE
Bug 217623: extension point org.eclipse.jdt.launching.classpathProviders based on ridiculous class
Bug 217736: Unhandled event loop exception
Bug 217852: [jres] search for installed JREs adds many bogus EE configurations
Jan 29, 2008
Problem Reports Fixed
Bug 216783: Hyperlink Debugging should only be enabled if current context is IJavaStackframe
Bug 214696: refactor WorkingDirectoryBlock
Dec 10, 3.4M4
Problem Reports Fixed
Bug 209833: Problems with compiler preferences when starting with 7.0
Bug 210368: Run configuration dialog does not show error message if on tab with error
Nov 27, 2007
Problem Reports Fixed
Bug 210759: debug tests don't compile after changes in refactoring
Nov 20, 2007
Problem Reports Fixed
Bug 209943: LaunchConfigurationQueryParticipant does not respect search scope
Bug 210126: Unable to open Snippet editor in I20071113-0800
Nov 13, 2007
Problem Reports Fixed
Bug 209978: NPE clicking stack trace in console
Bug 208410: [jre] the new JRE wizard should be consistent
3.4 M3 - Nov 2, 2007
Problem Reports Fixed
Bug 208036: Detail pane in inspect popup dialog is too small
Bug 208119: renaming main type deletes associated launch configuration
Bug 206270: project or launcher classpath dialog shows blank lines for unavailable projects
Bug 206747: CCE in LaunchConfigurationQueryParticipant when searching for references to method
Bug 207497: Instance Breakpoint Dialog from Variables View is confusing
Bug 207740: LaunchConfigurationQueryParticipant should only be active for types
Oct 23, 2007
Problem Reports Fixed
Bug 206693: JRE location looks wrong after installing j9 using ee description file
Oct 16, 2007
Problem Reports Fixed
Bug 205481: VMTypePage could be improved
Bug 206067: NullPointerException @ ASTInstructionCompiler.visit
Bug 202818: support for variables in vm definition files
Bug 57515: [search] java search participant for launch configs
Oct 9, 2007
Problem Reports Fixed
Bug 203468: Unable to add watchpoint from Variables View if selected variable is not IField
Bug 204670: Improve wording on the JRE container page
Bug 201758: Breaking change in IVMInstall.getInstallLocation()
Bug 205511: javadoc warning in N20071004-0010
Oct 2, 2007
Problem Reports Fixed
Bug 204137: Properties page for JRE System Library does not use dialog font everywhere
Bug 204455: ConnectionType not remembered in Remote Java Application Launch Config
Bug 204023: Debug tests sometimes DNF
3.4 M2 - Sept 21, 2007
Problem Reports Fixed
Bug 201440: Improve Debug Manual Test Suite
Bug 202806: Expression evaluation error when debugging.
Bug 203687: unable to launch last launched debug session
Sept 11, 2007
Problem Reports Fixed
Bug 202158: NPE in org.eclipse.jdt.internal.debug.ui.JavaHotCodeReplaceListener.hotCodeReplaceFailed
Bug 201194: org.eclipse.jdt.doc.user question about "Show Static Fields"
Bug 74709: [expressions] Watch action should work on an empty selection
Bug 54072: [java launching] Provide API to extend launch shortcuts with different modes
Sept 4, 2007
Problem Reports Fixed
Bug 200946: Support socket listening connector for Remote Java Application
Bug 201560: coding error in LibraryStandin
Bug 201264: several files not indexing correctly in help
Aug 28, 2007
Problem Reports Fixed
Bug 200728: Expansion/selection state for Java variables shared between frames
Bug 200462: Edit JRE definition: NullPointerException
Aug 21, 2007
Problem Reports Fixed
Bug 197282: org.eclipse.jdt.debug.test.stepping.ForceReturnTests depend on VM-specific behaviour.
Bug 198864: Can't remove a breakpoint within inner class
Bug 177193: Setting range of values in array objects in one request
Bug 199163: Installed JRE Copy button should be named Duplicate
Bug 200049: "NLS missing message" in "Installed JREs" preference page
Bug 181026: support for adding JREs from definition files
Bug 199942: EE definition file test failures
Bug 200198: Unable to set method breakpoint on method with type variable
Bug 198737: API for vm name and version
Bug 197866: Installed JRE Wizard creates duplicate system libraries when drive letter is lower case
3.4 M1 - August 10, 2007
Problem Reports Fixed
Bug 94134: API spec reference to org.eclipse.jdt.launching.vmType extension point
Bug 125673: [evaluation] Improve error message for method invocation on manually suspended threads
Bug 198404: compilation errors in refactoring tests
Bug 177556: [messages] remove internal error messages from translations
July 31, 2007
Problem Reports Fixed
Bug 196835: variable id not shown for String variables
183800: [launching] Discard changes question dialog on run dialog does give no real choice
197011: Add JRE fails to retain system library modifications.
196940: Add Watchpoint: NPE encountered
195848: Add Java Exception Breakpoint dialog should use JavaUI#createTypeDialog(..)
188676: [breakpoints] BreakpointMarkerUpdater moves line breakpoint to wrong position
195185: Cannot debug java class
129066: [breakpoints] Breakpoint view shows multiple breakpoints with same line number
140660: Debug View Actions (such as Show System Threads) should be Java-specific
July 17, 2007
Problem Reports Fixed
42173: [jres] Bad generated name for JREs
79529: [java debug] Step Into Outermost method invocation
177556: [messages] remove internal error messages from translations
181003: Default watchpoint settings should be configurable
July 10, 2007
Problem Reports Fixed
64663: [variables] "Variables>Change Value" should accept hex value
33452: [evaluation] [README] ObjectCollectedException evaluating conditional breakpoint
132764: [jres] VM type element with unknown id message in the log using I0321-1210
193488: org.eclipse.jdt.debug.test.stepping.StepIntoSelectionTests depend on VM behavior
85780: SWT support "hidden" widgets
191559: TVT33:TCT623: pl: Instance Breakpoint Filter Selection window
29855: [jres] Ampersands in file name create mnemonics when scanning for JREs
33714: [evaluation] AstEvaluationEngine cache
191486: [breakpoints] Alt+Enter for java breakpoint properties command is throws exceptions
28304: [variables] UnsupportedOperationException report to user on toString on WTK
190875: help id associated with wrong widget on two pref pages
191389: TVT33:TCT636: ja: No mnemonic for "Step through filters"
191486: [breakpoints] Alt+Enter for java breakpoint properties command is throws exceptions
193783: JDT Launching duplicates method newDocument from DebugPlugin
193835: Should not attempt to select filtered stack frame
46991: Failing debug test
191387: TVT33:TCT626: pl: functional: Up button does not work correctly
173890: [launching] can't debug premain
188555: Go to source action is disabled for exception breakpoints added from console
190492: JRE preference page does not scale correctly