Debugging is the process of moving from the identification of some departure from the expected or hoped for behavior towards, hopefully, the identification of the cause, or at least, a change in the process so that behavior is more acceptable.
[gdb]
[Critcl debugging with gdb]