The purpose of a debugger such as gdb is to allow you to see what is going on “inside†another program while it executes—or what another program was doing at the moment it crashed. gdb can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act:
Start your program, specifying anything that might affect its behavior.
Make your program stop on specified conditions.
Examine what has happened, when your program has stopped.
Change things in your program, so you can experiment with correcting the effects of one bug and go on to learn about another.
This comprehensive reference manual is for GDB Version 7.10.50.
As the project became so big project over the years, we had to split this reference manual in two parts that are two separate physical books. To keep it consistent with the digital manual, the references and page numbers cover both physical books as it were one. Therefore please note that you probably want to have both parts.