Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

DD Manual Test Plan

Revision as of 01:41, 22 January 2008 by Fchouinard.gmail.com (Talk | contribs) (Breakpoints (CDT))

Nav: DSDP/DD | DSDP/DD/Testing | DD Test Instructions | DD Known Issues and Workarounds | DD Manual Test Plan


DSF Features

Debug view

  • Launch
    • Check: debug perspective activated on launch
    • Check: debug view activated on launch
    • Check: stack frame selected on break on main after launch
  • Target
    • Check: process name shown in label
    • Expand process to show threads.
    • Select the target
    • Check: resume/suspend operations are enabled
    • Try resuming suspending
    • Check: all threads should resume/suspend
    • Check: stepping operations should be disabled
    • Terminating the target
    • Check: Terminated target should remain in the view with a "<terminated>" label prefix a terminated target icon.
    • Run program to the completion,
    • Check: target should change state to terminated.
  • Threads
    • Check: thread label shows thread ID and the current status.
    • Select a thread.
    • Check: resume/suspend operations should be enabled
    • Check: step operations should also be enabled
    • Try resuming/suspending/stepping
    • Try stepping fast by holding down the F5 key
    • Run a multi-threaded program
    • Check: new threads should be added to the bottom of the thread list as they are created
    • Check: exited threads are removed from the thread list
    • Expand threads to show stack traces
    • Check: When stepping a thread, other threads should remain collapsed/expanded as they were
  • Stack frames
    • Check: frame label should contain:
      • Stack frame number
      • Function name if known
      • File and line
      • Current program counter
    • Select a stack frame
    • Check: source editor is opened and positioned to the location of the PC
    • Check: run control operations should be the same as when a thread is selected
    • Check: when a thread hits a breakpoint, that thread's stack frame is automatically selected

Variables view

  • Stop a debugged program when it has at least two stack levels
  • Open variables view
    • Check that all variables of the current stack are shown
    • Check that all values are shown
    • Check that the layout menu behaves as expected
    • Check that complex variables have a little arrow on the left
    • Check that the arrow can be expanded to show children
    • Select different variables in the view and check that the details pane shows the different formats
  • Scroll down in the variable view
    • Check that newly displayed variables are correct
  • Change the stack frame in the debug view
    • Check that the variables view properly shows the variables for the selected stack frame
  • Go back to the previous stack frame in the debug view
    • Check that the variables view properly shows the variables for the selected stack frame
  • Step the program
    • Check that variable changes are reflected in the view and highlighted in color
  • Select a variable and change its value in the variables view
    • Check that the value is shown in the view
  • Step the program
    • Check that the value for the changed variable is still correct

Registers view

Expressions view

  • Stop a debugged program when it has at least two stack levels
  • Open expressions view
  • Create two or tree expressions including some of children of variables
    • Check that an expression can be added with the "Add new expression" line
    • Check that an expression can be added with "Add Watch Expression" context menu
    • Check that the created expressions are shown
    • Check that expressions values are shown
    • Check that the layout menu works as expected
    • Check that complex expressions have a little arrow on the left
    • Check that the arrow can be expanded to show children
    • Select different expressions in the view and check that the details pane shows the different formats
  • Add expressions to allow to scroll down in the expressions view
    • Check that newly displayed expressions are correct
  • Change the stack frame in the debug view
    • Check that the expressions view properly shows the expressions for the selected stack frame
  • Go back to the previous stack frame in the debug view
    • Check that the expressions view properly shows the expressions for the selected stack frame
  • Step the program
    • Check that expressions changes are reflected in the view and highlighted in color
  • Select a expressions and change its value in the expressions view
    • Check that the value is shown in the view
  • Step the program
    • Check that the value for the changed expression is still correct
  • Remove an expression using the context menu
    • Check that the expression is removed
    • Check that the same expression can be added again
  • Remove all expressions using the context menu "Remove all..." command
    • Check that all expressions are removed
    • Check that expressions can be added again
  • Modify an expression directly in the view
    • Check that the expression changes and its value and type correspond to the new expression

Modules view

  • Start a debug session and open the Modules view.
  • Select the process in Debug view
  • Check that the list of modules is shown in the Modules view.
  • Select a thread then a stack frame in Debug view.
  • Check that the Modules view still shows a list of loaded modules.
  • Select a module in the modules view.
  • Check that the detailed module info (type, symbols loaded, file, base address, size) are shown.

Number formats detail pane

Update modes

Breakpoints (General)

  • Set a breakpoint in a method that is called at least 3 times
    • Check that breakpoint is visible in editor and in breakpoint view
  • Start program and press the resume button
    • Check that program stops at the breakpoint
  • Set another breakpoint, right before the current one
  • Disable the old breakpoint in the breakpoint view and press resume twice
    • check that the disable breakpoint is white in the editor
    • check that the disable breakpoint did not cause the program to stop
  • Re-enable breakpoint from the view and resume
    • Check that re-enabled breakpoint does stop the program
    • Check that "show full paths" in the breakpoints view does work
    • Check that double-clicking on a breakpoints in the view takes us to the breakpoint in file
    • Check that "Go to file" button in the view takes us to the breakpoint in file
  • Disable and then enable breakpoint from the editor
    • check that the view shows the proper state
  • Add and then remove breakpoint from the editor
    • check that the view shows and then removes the breakpoint
  • Disable and then enable breakpoint from the view
    • check that the editor shows the proper state
  • Remove breakpoint from the view
    • check that the editor removes the breakpoint
  • Remove all breakpoint from the view
    • check that the editor removes all breakpoints
  • Click the button "Skip all breakpoints" in the view and resume
    • Check that the program completes without stopping at any breakpoint

GDB Features

GDB Basic Sanity Test

  1. Check out and build the sanity test project from /cvsroot/dsdp/org.eclipse.dd.dsf/tests/SanityTest
  2. Launch the DSF debugger with break at main
  3. Follow instructions in the test.

Launching

Breakpoints (CDT)

  • Breakpoints
    • Note: All verifications are performed 3 ways:
      • Back-end activities with GDB/MI traces
      • Back-end breakpoint status with "info break" at the console
      • Platform breakpoint status in Breakpoint View (with Breakpoint Properties)
    • Test Setup
      • Launch the Eclipse workbench
      • Start a DSF debug session (Threads)
    • Test 1: Breakpoint setting
      • In the editor, add a new line breakpoint (BP-1)
      • Check: A new breakpoint is inserted and it is enabled
    • Test 2: Breakpoint activation
      • In the editor, disable BP-1
      • Check: BP-1 is disabled
      • In the editor, enable BP-1
      • Check: BP-1 is enabled
    • Test 3: Breakpoint condition
      • Set an invalid condition on BP-1
      • Check: The update is rejected and BP-1 is not changed
      • Set a valid condition on BP-1
      • Check: The update is accepted and BP-1 has the new condition
      • Set an invalid condition on BP-1
      • Check: The update is rejected and BP-1 kept the valid condition
      • Clear the BP-1 condition
      • Check: The update is accepted and BP-1 no longer has a condition
    • Test 4: Breakpoint ignore count
      • Set an ignore count on BP-1
      • Check: The update is accepted and BP-1 has the new ignore count
      • Reset an ignore count on BP-1 (set to 0)
      • Check: The update is accepted and BP-1 has no ignore count
    • Test 5: Breakpoint persistence
      • Create 4 breakpoints with the following characteristics:
        • BP-1: enabled, no condition, no ignore count
        • BP-2: disabled, with condition, no ignore count
        • BP-3: disabled, no condition, with ignore count
        • BP-4: enabled, with condition, with ignore count
      • Check: The 4 breakpoints are correctly created
      • Stop the debugging session
      • Start a new debugging session
      • Check: The 4 breakpoints are correctly restored
      • Stop the debugging session
      • Enable all breakpoints
      • Start a new debugging session
      • Check: The 4 breakpoints are correctly restored (and enabled)
  • Watchpoints
    • Test Setup
      • Launch the Eclipse workbench
      • Start a DSF debug session (Threads)
    • Test 1: Watchpoint setting
      • In the Breakpoint View, add a new watchpoint (WP-1)
      • Check: A new watchpoint is inserted and it is enabled
    • Test 2: Watchpoint activation
      • In the Breakpoint View disable WP-1
      • Check: WP-1 is disabled
      • In the Breakpoint View enable WP-1
      • Check: WP-1 is enabled
    • Test 3: Watchpoint condition
      • Set an invalid condition on WP-1
      • Check: The update is rejected and WP-1 is not changed
      • Set a valid condition on WP-1
      • Check: The update is accepted and WP-1 has the new condition
      • Set an invalid condition on WP-1
      • Check: The update is rejected and WP-1 kept the valid condition
      • Clear the WP-1 condition
      • Check: The update is accepted and WP-1 no longer has a condition
    • Test 4: Watchpoint ignore count
      • Set an ignore count on WP-1
      • Check: The update is accepted and WP-1 has the new ignore count
      • Reset an ignore count on WP-1 (set to 0)
      • Check: The update is accepted and WP-1 has no ignore count
    • Test 5: Watchpoint persistence
      • Create 4 watchpoints with the following characteristics:
        • WP-1 enabled, write, no condition, no ignore count
        • WP-2 disabled, read, with condition, no ignore count
        • WP-3 disabled, read/write, no condition, with ignore count
        • WP-4 enabled, no read/no write, with condition, with ignore count
      • Check: The 4 watchpoints are correctly created
      • Stop the debugging session
      • Start a new debugging session
      • Check: The 4 watchpoints are correctly restored
      • Stop the debugging session
      • Enable all watchpoints
      • Start a new debugging session
      • Check: The 4 watchpoints are correctly restored (and enabled)



  • Thread Filters
  • Skip All Button

Traditional Memory Rendering

IP-XACT Editor

Back to the top