gdb is the basic debugger. Many Linux debuggers are based on it.
Even though it does not have a fancy GUI, it does the trick.
In order to use gdb one must use the -g flag when compiling!
Executing gdb is simple: gdb program_name
(it can be run differently but for that RTFM)
gdb has an excellent built in help, you can type help from the
gdb command line and get a list of stuff to get help on, or type
help <something>, and get specific help on something - either
a command or a topic name.
Another good source for help on gdb is the info pages. Type: pinfo gdb
or info gdb if pinfo is not available.