Difference between revisions of "Debuggers"

From Genome Analysis Wiki
Jump to navigationJump to search
(Created page with '= Debuggers = == Advantages/Disadvantages == * Advantages ** Single step through the code ** Stop execution at a given point to investigate where it goes and what the values ar…')
 
Line 18: Line 18:
  
 
On a linux command line, type: <code>ddd pathToYourExecutable/yourExecutable &</code>
 
On a linux command line, type: <code>ddd pathToYourExecutable/yourExecutable &</code>
 +
 +
Do not specify command line options at this point.  That will be done later when you type [[Debuggers#Run with options|"run"]]
  
 
=== How to Use DDD ===
 
=== How to Use DDD ===
[[Image:DddScreenshot.jpg|400px|center|ddd Screenshot]]
+
==== Debugging Tools ====
 +
*'''Run:''' start the program with the previously specified options
 +
*'''Interrupt:''' stop the program from running
 +
*'''Step:''' Go into the function call (or go to next line of code)
 +
*'''Next:''' Go over a function call (execute it, but do not step into it)
 +
*'''Finish:''' Continue execution until the end of the current method
 +
*'''Cont:''' Continue execution until the next breakpoint or the end of the program is reached.
 +
*'''Kill:''' stop the program from running.
 +
 
 +
[[Image:DddScreenshot.jpg|400px|ddd Screenshot]]
 +
 
 +
==== Basic Usage ====
 +
===== Bring up a file in the viewer =====
 +
* At the gdb prompt:
 +
*: <code>l <filename>:<line#></code>
 +
*: -or -
 +
*:<code> l <class>::<method></code>
 +
 
 +
Examples:
 +
: <code>l SamRecord.cpp:1</code>
 +
:<code> l SamRecord::getCigar</code>
 +
 
 +
===== Set a breakpoint =====
 +
* Use mouse right-click on the line number
 +
*:Set Breakpoint (can set properties – break after hit X number of times, etc)
 +
:-or-
 +
* At the gddb prompt:
 +
*:<code>b <class>::<method></code>
 +
 
 +
===== Attach to already running process =====
 +
*File->Attach to Process

Revision as of 12:13, 29 April 2011

Debuggers

Advantages/Disadvantages

  • Advantages
    • Single step through the code
    • Stop execution at a given point to investigate where it goes and what the values are
    • Attach to an already running program
  • Disadvantages
    • Not running real-time, so may not expose all problems

DDD

How to Compile for Debug

Compile with the option: -ggdb -O0

For the statgen library, you can compile with: make OPTFLAG="-ggdb -O0"

How to Start DDD

On a linux command line, type: ddd pathToYourExecutable/yourExecutable &

Do not specify command line options at this point. That will be done later when you type "run"

How to Use DDD

Debugging Tools

  • Run: start the program with the previously specified options
  • Interrupt: stop the program from running
  • Step: Go into the function call (or go to next line of code)
  • Next: Go over a function call (execute it, but do not step into it)
  • Finish: Continue execution until the end of the current method
  • Cont: Continue execution until the next breakpoint or the end of the program is reached.
  • Kill: stop the program from running.

ddd Screenshot

Basic Usage

Bring up a file in the viewer
  • At the gdb prompt:
    l <filename>:<line#>
    -or -
    l <class>::<method>

Examples:

l SamRecord.cpp:1
l SamRecord::getCigar
Set a breakpoint
  • Use mouse right-click on the line number
    Set Breakpoint (can set properties – break after hit X number of times, etc)
-or-
  • At the gddb prompt:
    b <class>::<method>
Attach to already running process
  • File->Attach to Process