[prev] 20 [next]

Debuggers

Debuggers: tools to assist in finding bugs

Typically provide facilities to

  • control execution of program
        (step-by-step execution, breakpoints)
  • view intermediate state of program
        (values stored in data structures, control stack)
Examples:
  • gdb, lldb ... command-line debugger, useful for quick checks
  • ddd ... visual debugger, can display dynamic data
  • valgrind ... execution "harness" for pointer bugs