The principal purposes of using a debugger are so that you can stop your program before it terminates; or so that, if your program runs into trouble, you can investigate and find out why.
Inside GDB, your program may stop for any of several reasons,
such as a signal, a breakpoint, or reaching a new line after a
GDB command such as
step. You may then examine and
change variables, set new breakpoints or remove old ones, and then
continue execution. Usually, the messages shown by GDB provide
ample explanation of the status of your program—but you can also
explicitly request this information at any time.
Display information about the status of your program: whether it is running or not, what process it is, and why it stopped.
|• Breakpoints:||Breakpoints, watchpoints, and catchpoints|
|• Continuing and Stepping:||Resuming execution|
|• Skipping Over Functions and Files:||Skipping over functions and files|
|• Thread Stops:||Stopping and starting multi-thread programs|