Debugger

Debuggers are applications that help with debugging other applications. They usually allow setting breakpoints, running code step-by-step and showing backtraces.

note: some debuggers require you to include special files in the source codes, like bread drums they can follow. Others may require special compile time option(s), like the "-g" option when using gcc.

(source) code debuggers

 * gdb -- GNU debugger
 * ddd -- graphical front-end to several debuggers
 * most IDEs include a debugger

Other debugger types

 * Valgrind -- memory management debugger
 * strace -- show system calls
 * ltrace -- show library calls

Profiling

 * gprof - fight performance problems using profiling