Debugging with GDB Manual (5900-1473; WDB 6.2; January 2011)

Table Of Contents
22 Reporting Bugs in GDB
Your bug reports play an essential role in making GDB reliable.
Reporting a bug may help you by bringing a solution to your problem, or it may not. But
in any case the principal function of a bug report is to help the entire community by
making the next version of GDB work better. Bug reports are your contribution to the
maintenance of GDB.
In order for a bug report to serve its purpose, you must include the information that
enables us to x the bug.
22.1 Have you found a bug?
If you are not sure whether you have found a bug, here are some guidelines:
If the debugger gets a fatal signal, for any input whatever, that is a GDB bug.
Reliable debuggers never crash.
If GDB produces an error message for valid input, that is a bug. (Note that if you're
cross debugging, the problem may also be somewhere in the connection to the
target.)
If GDB does not produce an error message for invalid input, that is a bug. However,
you should note that your idea of \invalid input" might be our idea of \an extension"
or \support for traditional practice".
If you are an experienced user of debugging tools, your suggestions for improvement
of GDB are welcome in any case.
22.2 How to report bugs
If you obtained GDB (Hewlett-Packard Wildebeest (based on GDB 5.0-hpwdb-
20000516)) as part of your HP ANSI C, HP ANSI C++, or HP Fortran compiler kit,
report problems to your HP Support Representative.
If you obtained GDB (Hewlett-Packard Wildebeest (based on GDB 5.0-hpwdb-
20000516)) from the Hewlett-Packard Web site, report problems to your HP Support
Representative. Support is covered under the support contract for your HP compiler.
The fundamental principle of reporting bugs usefully is this: “report all the facts. If you
are not sure whether to state a fact or leave it out, state it!
Often people omit facts because they think they know what causes the problem and
assume that some details do not matter. Thus, you might assume that the name of the
variable you use in an example does not matter. Well, probably it does not, but one
cannot be sure. Perhaps the bug is a stray memory reference which happens to fetch
from the location where that name is stored in memory; perhaps, if the name were
different, the contents of that location would fool the debugger into doing the right thing
22.1 Have you found a bug? 359