TS 67 CNDdbxintegration

Observability Tool Test Specification

Author: Alexander Pepin
Version: 1.0
Lastupdate: 13.3.2009
Introduction: Allow users to debug binaries built usin dbx debugger from Sun Studio. Currently it works only on Solaris and Linux.

Contents


Test suite: Actions

Purpose: Check that basic dbx debugger actions work properly
Setup: Run IDE. Add SunStudio toolchain and make it default. Create any C/C++ sample project (e.g. Welcome) from New Project > Samples > C/C++> Welcome. Clean and build the project.


  1. Start
    1. create a sample application
    2. set a breakpoint in the main function
    3. start debugger
    • start via toolbar button
    • start via main menu
    • start via project context menu
    • EXPECTED RESULT: verify that debugger started correctly.
  1. Step Into Project
    1. create a sample application
    2. do step into project step into via main menu
    • EXPECTED RESULT: verify that debugger started correctly
  1. Step Over
    1. create a sample application
    2. do step into project
    3. do step over
    • step over via main menu
    • step over via toolbar
    • step over via shortcut
    • EXPECTED RESULT: verify that debugger stepped over correctly
  1. Step Into
    1. create a sample application with functions (e.g. Quote)
    2. do step into project
    3. do step into function
    • step into via main menu
    • step into via toolbar
    • step into via shortcut
    • EXPECTED RESULT: verify that debugger stepped into function correctly
    1. do step into system function
    • step into via main menu
    • step into via toolbar
    • step into via shortcut
    • EXPECTED RESULT: verify that debugger stepped into function correctly
  1. Step Out
    1. create a sample application with functions (e.g. Quote)
    2. do step into project
    3. do step into function
    4. do step out function
    • step out via main menu
    • step out via toolbar
    • step out via shortcut
    • EXPECTED RESULT: verify that debugger stepped out function correctly
    1. do step into system function
    2. do step out system function
    • step out via main menu
    • step out via toolbar
    • step out via shortcut
    • EXPECTED RESULT: verify that debugger stepped out function correctly
    1. do step out 'main' function
    • step out via main menu
    • step out via toolbar
    • step out via shortcut
    • EXPECTED RESULT: verify that debugger stepped out main function correctly
  1. Continue
    1. create a sample application
    2. set a breakpoint in the main function
    3. start debugger
    4. when debugger stops at BP do continue
    • continue out via main menu
    • continue out via toolbar
    • continue out via shortcut
    • EXPECTED RESULT: verify that debugger continued execution correctly
  1. Pause
    1. create an application with an endless loop
    2. start debugger
    3. when debugger starts do pause
    • pause out via main menu
    • pause out via toolbar
    • pause out via shortcut
    • EXPECTED RESULT: verify that debugger paused execution correctly
  1. Finish
    1. create a sample application
    2. do step into project
    3. do finish
    • finish out via main menu
    • finish out via toolbar
    • finish out via shortcut
    • EXPECTED RESULT: verify that debugger finished execution correctly
  1. Make Current
    1. create a sample application with functions (e.g. Quote)
    2. do step into project
    3. do step into function
    4. open Call Stack view
    5. select any stackframe and make it current
    • EXPECTED RESULT: verify that Local Variables view and Watches were updated accordingly
  1. Pop To Here
    1. create a sample application with functions (e.g. Quote)
    2. do step into project
    3. do step into function
    4. open Call Stack view
    5. select caller stackframe and do pop to here
    • EXPECTED RESULT: verify that debugger stops in caller function
  1. Pop Topmost Call
    1. create a sample application with functions (e.g. Quote)
    2. do step into project
    3. do step into function
    4. open Call Stack view
    5. open Debug menu Stack section and do pop topmost call
    • EXPECTED RESULT: verify that debugger stops in topmost caller function
  1. Make Caller Current
    1. create a sample application with functions (e.g. Quote)
    2. do step into project
    3. do step into function
    4. open Call Stack view
    5. open Debug menu Stack section and make caller current
    • EXPECTED RESULT: verify that Local Variables view and Watches were updated accordingly
  1. Make Callee Current
    1. create a sample application with functions (e.g. Quote)
    2. do step into project
    3. do step into function
    4. open Call Stack view
    5. open Debug menu Stack section and make caller current
    • EXPECTED RESULT: verify that Local Variables view and Watches were updated accordingly


Test suite: Views

Purpose: Check that dbx debugger views work properly
Setup: Run IDE. Add SunStudio toolchain and make it default. Create any C/C++ sample project (e.g. Welcome) from New Project > Samples > C/C++> Welcome. Clean and build the project.


  1. check views, open, close etc.
    1. create a sample application
    2. do step into project
    3. check Local Variables view, open, close, change visible columns etc.
    4. check Watches view, open, close, change visible columns etc.
    5. check Call Stack view, open, close, change visible columns etc.
    6. check Sessions view, open, close, change visible columns etc.
    7. check Breakpoints view, open, close, change visible columns etc.
    8. check Threads view, open, close, change visible columns etc.
    9. check Registers view, open, close, change visible columns etc.
    10. check Memory view, open, close, change visible columns etc.
  1. Local Variables
    1. create a sample or some specific application
    2. do step into project
    3. check LV on sample projects
    4. check LV in function
    5. check numbers (short, int, long, float, double)
    • check char
    • check pointers
    • check arrays
    • check unions
    • check classes
    • check structures
    1. modify values
    2. check that values are updated accordingly
  1. Watches
    1. create a sample or some specific application
    2. do step into project
    3. create a new watch
    4. customize watch
    5. delete watch
    6. create a watch for function
    7. modify values
    8. check that values are updated accordingly
  1. Call Stack
    1. create a sample application with functions (e.g. Quote)
    2. do step into project
    3. call stack representation
    4. see call stack actions
  1. Breakpoints
    1. create a sample or some specific application
    2. set several breakpoint
    3. do step into project
    4. open Breakpoints view
    5. check breakpoint representation
    6. check Go To Source option
    7. diasable BP
    8. check that debugger ignore disabled BP
    9. diasable all BPs
    10. check that debugger ignore disabled BPs
    11. enable BP
    12. check that debugger stops at BP
    13. enable all BPs
    14. check that debugger stops at BPs
    15. customize BP (see Breakpoints section)
    • line number
    • condition
    • event counter
    • action
    • print text
    1. check that changed options has effect
    2. delete BP
    3. check that debugger does not stop at BP
    4. delete all BPs
    5. check that debugger does not stop at any BPs
  1. Sessions
    1. create two or more sample or specific applications
    2. set several breakpoint in these applications
    3. do step into project or start debugger for each application
    4. open Sessions view
    5. check sessions representation in Sessions view
    6. switch between sessions and check that Local Variables and Watches are changed accordingly
  1. Threads
    1. create a multithreaded application
    2. do step into project and do steps needed to create new threads
    3. open Threads view
    4. check threads representation
    5. switch between threads and check that Local Variables and Watches are changed accordingly
  1. Memory
    1. create an application which modifies memory
    2. do step into project
    3. open Memory view and check memory content at the specific address
    4. do some steps and check that memory content is changed accordingly
  1. Disassembly
    1. create a sample application
    2. do step into project
    3. open Disassembly view and check disassembled source code
    4. do some steps and check that cursor moves accordingly
  1. Registers
    1. create a sample application
    2. do step into project
    3. open Registers view and check its content
    4. do some steps and check that content is changed accordingly
  1. Debugger Console
    1. create a sample application
    2. do step into project
    3. open Debugger Console
    4. do some steps and check console output
  1. Output
    1. create a sample application that needs input and produces output (e.g. Quote)
    2. set Run/Console Type property to Output Window
    3. do step into project
    4. do some steps and check that needed data can be entered and check output
  1. Terminal wnidow
    1. create a sample application that needs input and produces output (e.g. Quote)
    2. set Run/Console Type property to Default
    3. do step into project
    4. check that a new terminal window appears
    5. do some steps and check that needed data can be entered and check output


Test suite: Breakpoints

Purpose: Check that dbx debugger breakpoints work properly
Setup: Run IDE. Add SunStudio toolchain and make it default. Create any C/C++ sample project (e.g. Welcome) from New Project > Samples > C/C++> Welcome. Clean and build the project.


  1. Function BP
    1. create a sample application containing function calls (e.g. Quote)
    2. call Debug/New Breakpoint from the main menu
    3. set a breakpoint type to Function then enter function name and press OK
    4. start debugger and check that created breakpoint does work
    5. check that the breakpoint is displayed correctly in Breakpoints view
  1. Line BP
    1. create a sample application
    2. call Debug/New Breakpoint from the main menu
    3. set a breakpoint type to Line then enter a desirable line number and press OK
    4. start debugger and check that created breakpoint does work
    5. check that the breakpoint is displayed correctly in Breakpoints view
  1. Adress BP
    1. create a sample application
    2. do step into project
    3. open Disassembly view and remember an address where a breakpoint can be set
    4. call Debug/New Breakpoint from the main menu
    5. set a breakpoint type to Address then enter a desirable address and press OK
    6. continue debugging and check that created breakpoint does work
    7. check that the breakpoint is displayed correctly in Breakpoints view
  1. Toggle BP
    1. create a sample application
    2. click on the gutter next to line in the editor where a breakpoint should be set
    3. check that the breakpoint is created and a breakpoint annotation is added to the source file in the editor
    4. start debugger and check that created breakpoint does work
    5. check that the breakpoint is displayed correctly in Breakpoints view
  1. Customize BP
    1. customize (change function/line)
    2. start debugger and check that created breakpoint does work
    3. check that the breakpoint is displayed correctly in Breakpoints view
  1. Conditional BP
    1. check condition
    2. check count exceeds
    3. start debugger and check that created breakpoint does work
    4. check that the breakpoint is displayed correctly in Breakpoints view
  1. Actions for BP
    1. check suspend
    2. check Thread ID
    3. check Print Text
    4. start debugger and check that created breakpoint does work
    5. check that the breakpoint is displayed correctly in Breakpoints view


Test suite: Attach To Process

Purpose: Check that Attach To Process works properly for dbx debugger
Setup: Run IDE. Add SunStudio toolchain and make it default. Create any C/C++ sample project (e.g. Quote) from New Project > Samples > C/C++> Quote. Clean and build the project.


  1. Attach to process
    1. run the application (in the IDE or from outside)
    2. call attach to process dialog
    3. find the process and attach to it
    4. debug attached process (check breakpoints, views, etc. )
    5. create a makefile based application
    6. run the application (in the IDE or from outside)
    7. call attach to process dialog
    8. find the process and attach to it
    9. debug attached process (check breakpoints, views, etc. )


Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo