Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[platform-debug-dev] Debug test plan


The debug test plan is summarized in this doc, which is also available in 'org.eclipse.jdt.debug.tests'. Although the test plan focusses on the Java debugger, it is also intended to exercise the debug platform.



Darin
Title: Debug Test Plan

Debug Test Plan

Virtual Machines& Platforms

VMs

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

  • 20020206 or higher

Platforms

  • Windows 2000/NT
  • Windows XP
  • Linux
  • Double byte (Japanese)

Function

Breakpoints {Joe S}

(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 {Jed A/Luc B}

  • J9 and Sun
  • Negative cases (i.e. handle failures)

Launch Configurations {Darin S}

  • 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
  • Auto-creation & launch using “Run/Debug Java Application”
  • Using non-default class path & source lookup path
  • Using non-default working directory
  • Sharing default and non-default launch configurations
    • Sharing of classpaths
    • Sharing of JREs via new “container” support
  • 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 {Darin S}

  • Debugging with non-workspace source
  • Prompting for source (should update associated launch configuration)

Evaluation {Darin W}

  • 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 {Darin W}

  • 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 {Jared B}

  • 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

Memory Leak

Use "optimize it" (or perhaps just the system process monitor) 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

Back to the top