Chapter 2. Summary of gdb
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.
You can use gdb to debug programs written in C and C++.
For more information, (refer to Section 14.4 Supported languages.
For more information, (refer to Section 14.4.1 C and C++.
Support for Modula-2 is partial.
For information on Modula-2, refer to
(refer to Section 14.4.3 Modula-2.
Debugging Pascal programs which use sets, subranges, file variables, or
nested functions does not currently work. gdb does not support
entering expressions, printing values, or similar features using Pascal
syntax.
gdb can be used to debug programs written in Fortran, although
it may be necessary to refer to some variables with a trailing
underscore.
gdb can be used to debug programs written in Objective-C,
using either the Apple/NeXT or the GNU Objective-C runtime.
2.1. Free software
gdb is free software, protected by the gnu
General Public License
(GPL). The GPL gives you the freedom to copy or adapt a licensed
program--but every person getting a copy also gets with it the
freedom to modify that copy (which means that they must get access to
the source code), and the freedom to distribute further copies.
Typical software companies use copyrights to limit your freedoms; the
Free Software Foundation uses the GPL to preserve these freedoms.
Fundamentally, the General Public License is a license which says that
you have these freedoms and that you cannot take these freedoms away
from anyone else.