Debug Test Plan
This documented was last updated June 2, 2002, for test pass 2.
Virtual Machines& Platforms
VMs
Test with JREs as well as with full JDKs
Sun
- 1.3.1_01 or higher
- 1.4.1 B10 or higher
IBM
- 1.3.0 (build 1.3.0, J2RE
1.3.0 IBM build cn130-20010925)
- 1.3.1 (build 1.3.1, J2RE
1.3.1 IBM Windows 32 build cn131-20020403)
J9
Platforms
- Windows 2000/NT
- Windows XP
- Linux
- Double byte (Japanese)
Function
Breakpoints {Darin W}
(Breakpoint
tests are a good candidate for automation)
|
|
Enable
|
Disable
|
Hit
count
|
Condition
|
Suspend
VM
|
Suspend
thread
|
Caught
|
Uncaught
|
Entry
|
Exit
|
Access
|
Modification
|
Thread
filter
|
Scope
|
|
Line
Breakpoint
|
X
|
X
|
X
|
X
|
X
|
X
|
|
|
|
|
|
|
X
|
|
|
Exception
Breakpoint
|
X
|
X
|
X
|
|
X
|
X
|
X
|
X
|
|
|
|
|
X
|
X
|
|
Watchpoint
|
X
|
X
|
X
|
|
X
|
X
|
|
|
|
|
X
|
X
|
X
|
|
|
Method
Breakpoint
|
X
|
X
|
X
|
|
X
|
X
|
|
|
X
|
X
|
|
|
X
|
|
- Suspend on
uncaught exceptions
- Suspend on compilation errors
HotSwap {Darin S}
- J9 and Sun
- Negative cases (i.e. handle
failures)
Launch Configurations {Jared B/Luc B}
- Local & Remote Java
Applications
- Creation of default launch
configurations in dialog the dialog (via new button, based on workbench
selection)
- Creation of default launch
configurations using “Debug/Run As…” actions
- Using non-default class path
& source lookup path
- Using non-default working
directory
- Sharing default and
non-default launch configurations, on different OS’s (i.e. Linux to
Windows)
- Sharing of classpaths
- Sharing of JREs via
new “container” support
- Sharing/using non-standard
variables on the classpath
- Launching java programs not
contained in the workspace (i.e. just use as a tool to launch external
Java programs)
- Using new “Container” support
to reference JREs (instead of JRE_LIB).
- Using JREs with > 1 jar
- Starting a workspace after
deleting/renaming all installed JREs (can we handle it gracefully?)
- Hot keys for re-launch
- Perspective switching
- Favorites
- Handling of launch
configurations with missing plug-in. I.e. create a runtime workbench
configuration, and then run the workbench without PDE.
- Saving & building before
launching, based on preferences
Source Lookup {Jared B/Luc B}
- Debugging with non-workspace
source
- Prompting for source (should
update associated launch configuration)
- Binaries without source
(attaching during debug session should make source attach for rest of
session and future sessions)
Evaluation {Darin S}
- Debugger
- Local
- Remote
- Display view
- Variables view –
using “this” context as selected variable
- Expression view
- Java editor
- Error handling – i.e.
expressions with errors
- In compilation units
(i.e .with source)
- Binaries w/wo source
- Inner types/anonymous
types
- Array elements
- Code assist
- Scrapbook
- JREs
- Working directory
- Use code from pre-req
projects
- Imports
Console {Joe S}
- Appearing automatically
based on preferences
- Reading Input
- Coloring and fonts
- Navigating from stack traces
and Java doc errors to associated types
- Flooding with output
- Wrap & non-wrap modes
Stepping {Joe S}
- Variables
appearing/disappearing
- Changing variables (red)
- Rapid stepping
- Rapid stepping &
showing ‘toString()’
- Hot keys
- Step filters [Could add
tests to test suite]
- Primitive display options
(preferences in java-> debug -> appearance)
- Filter options (preferences
java -> debug -> appearance)
- Suspending a running
program
- Stepping in non-top stack
frame
- Stepping “thru” breakpoints
– i.e. should hit breakpoints when stepping over code with breakpoints
Presentation
- All action labels in all
menus
- All tool tips in toolbars
- F1 help in all views
- Debug Action groups (turn
on/off)
- Debug keyboard navigation
- Remembering user settings:
prefs, action states etc.
Memory Leak
Use "optimize it" to ensure that we free allocated memory for the
following tasks:
- Start/kill debug session
- Open/close snippet editor
(and start an evaluation)
- Open close preference pages,
views and dialogs
- Open/close perspective
- Evaluations in debugger