<html lang="en">
<head>
<title>Bug Criteria - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="GDB-Bugs.html#GDB-Bugs" title="GDB Bugs">
<link rel="next" href="Bug-Reporting.html#Bug-Reporting" title="Bug Reporting">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988-2019 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Bug-Criteria"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Bug-Reporting.html#Bug-Reporting">Bug Reporting</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="GDB-Bugs.html#GDB-Bugs">GDB Bugs</a>
<hr>
</div>

<h3 class="section">31.1 Have You Found a Bug?</h3>

<p><a name="index-bug-criteria-3170"></a>
If you are not sure whether you have found a bug, here are some guidelines:

     
<a name="index-fatal-signal-3171"></a>
<a name="index-debugger-crash-3172"></a>
<a name="index-crash-of-debugger-3173"></a>
<ul><li>If the debugger gets a fatal signal, for any input whatever, that is a
<span class="sc">gdb</span> bug.  Reliable debuggers never crash.

     <p><a name="index-error-on-valid-input-3174"></a><li>If <span class="sc">gdb</span> 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.)

     <p><a name="index-invalid-input-3175"></a><li>If <span class="sc">gdb</span> does not produce an error message for invalid input,
that is a bug.  However, you should note that your idea of
&ldquo;invalid input&rdquo; might be our idea of &ldquo;an extension&rdquo; or &ldquo;support
for traditional practice&rdquo;.

     <li>If you are an experienced user of debugging tools, your suggestions
for improvement of <span class="sc">gdb</span> are welcome in any case. 
</ul>

   </body></html>

