Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

CDT/Archive/cdt-debug-dsf-gdb

< CDT‎ | Archive
Revision as of 20:15, 5 January 2009 by Unnamed Poltroon (Talk)

Overview

Features

Version support

  • GDB 6.7+

Launching

N&N Entry

  • Launch Configurations
    • Launch an application on local host
    • Attach to a running process
    • Launch an application on a remote host
  • GDB Debugger options
    • Non-stop mode selection

Non-stop mode multi-threaded debugging support

N&N Entry

Multi-process Debugging

N&N Entry

CLI Console

N&N Entry

Manual Test Procedures

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

  • Perspective
    1. In Preferences->Run/Debug->Perspectives, make sure that at least one perspective change option is set to prompt.
    2. Set the java or c++ perspective
    3. Launch a DSF program
      • Verify that there is a prompt to switch perspective to Debug, Answer yes
      • Verify the perspective switches
  • Expanding after launch
      • Verify from the above test that the Debug view has a selection to the top-most thread
    1. Close Debug view
    2. Open Debug view
    3. Verify that the Debug view has a selection to the top-most thread
  • Break on main
    1. Set a valid break-on-main symbol, and launch.
      • Check: the program breaks at the correct location.
    2. Set an invalid break-on-main symbol, and launch.
      • Check: the launch should fail with an error from creating the break-on-main breakpoint
    3. Set a break-on-main symbol that is not reachable by the program, but the program continues running, and launch.
      • Check: the launch should complete as if there was no break-on-main symbol set.
    4. Set a break-on-main symbol that is not reachable by the program, but and the program exits quickly.
      • Check: the launch should complete and the program should run and terminate normally.
  • Remote Launch
    1. Start a gdbserver session with the binary of the eclipse C++ project
    2. Use the DSF Remote launch to connect to that gdbserver
      • Verify that the debugging session is the same as a local debugging session
      • Verify that the Restart button is grayed out
  • Local Attach Launch
    1. Start the binary of your project outside of eclipse (this binary should take a long time to execute to give you enough time to attach to it)
    2. Use the DSF Attach to Local applicaiton launch
      • Verify that a popup window prompts for the process to attach to
    3. Select the binary you started
      • Verify that the debugging session is the same as a local debugging session
      • Verify that the Restart button is grayed out
      • Verify that the output of the binary remains on the terminal where it was started
  • Remote Attach Launch
    1. Start a gdbserver session with the --multi flag and no binary
    2. Start the binary of your project outside of eclipse (this binary should take a long time to execute to give you enough time to attach to it)
    3. Use the DSF Attach launch to connect to that gdbserver using the 'gdbserver Debugger' type
      • Verify that a popup window prompts for the process pid to attach to (no list)
      • Put in the pid of the binary you started
      • Verify that the debugging session is the same as a local debugging session
      • Verify that the Restart button is grayed out
      • Verify that the output of the binary remains on the terminal where it was started
  • Output
    1. Launch a local debug session
    2. Step the program to execute a couple of instructions that have a printf
      • Verify that the output of the program is properly seen in a separate console.
  • Restart
    1. Launch a local debug session
    2. Step the program to execute a couple of instructions
    3. Press the Restart button and verify that the program restarts from the beginning
      • Verify also that the "Break on main option is still respected on the restart
      • Verify also that the output of the program is properly seen in a separate console.

Back to the top