gdb - The GNU Debugger. It allows you to debug programs written in C, C++, FORTRAN, and Modula-2.
Compile your source code with the -g flag. You can run gdb with no arguments or options. However the most common way to start gdb is with one or two arguments specifying an executable program and core dump as arguments. For example
gdb a.out core