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 free-
dom 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.
2.2. Free Software Needs Free Documentation
The biggest deficiency in the free software community today is not in the software--it is the lack of
good free documentation that we can include with the free software. Many of our most important
programs do not come with free reference manuals and free introductory texts. Documentation is an
essential part of any software package; when an important free software package does not come with
a free manual and a free tutorial, that is a major gap. We have many such gaps today.
Consider Perl, for instance. The tutorial manuals that people normally use are non-free. How did this
come about? Because the authors of those manuals published them with restrictive terms--no copying,
no modification, source files not available--which exclude them from the free software world.
Содержание ENTERPRISE LINUX 4 - DEVELOPER TOOLS GUIDE
Страница 1: ...Red Hat Enterprise Linux 4 Debugging with gdb ...
Страница 12: ...2 Chapter 1 Debugging with gdb ...
Страница 28: ...18 Chapter 4 Getting In and Out of gdb ...
Страница 34: ...24 Chapter 5 gdb Commands ...
Страница 44: ...34 Chapter 6 Running Programs Under gdb ...
Страница 68: ...58 Chapter 8 Examining the Stack ...
Страница 98: ...88 Chapter 10 Examining Data ...
Страница 112: ...102 Chapter 12 Tracepoints ...
Страница 118: ...108 Chapter 13 Debugging Programs That Use Overlays ...
Страница 138: ...128 Chapter 14 Using gdb with Different Languages ...
Страница 144: ...134 Chapter 15 Examining the Symbol Table ...
Страница 170: ...160 Chapter 19 Debugging remote programs ...
Страница 198: ...188 Chapter 21 Controlling gdb ...
Страница 204: ...194 Chapter 22 Canned Sequences of Commands ...
Страница 206: ...196 Chapter 23 Command Interpreters ...
Страница 216: ...206 Chapter 25 Using gdb under gnu Emacs ...
Страница 296: ...286 Chapter 27 gdb Annotations ...
Страница 300: ...290 Chapter 28 Reporting Bugs in gdb ...
Страница 322: ...312 Chapter 30 Using History Interactively ...
Страница 362: ...352 Appendix D gdb Remote Serial Protocol ...
Страница 380: ...370 Appendix F GNU GENERAL PUBLIC LICENSE ...
Страница 386: ...376 Appendix G GNU Free Documentation License ...
Страница 410: ......