* gdb.texinfo: Document "complaints". Change doc of -q since
authorJohn Gilmore <gnu@cygnus>
Tue, 5 Feb 1991 22:05:25 +0000 (22:05 +0000)
committerJohn Gilmore <gnu@cygnus>
Tue, 5 Feb 1991 22:05:25 +0000 (22:05 +0000)
        gdb no longer prints the copyright and blurb if you specify a file
        name to be debugged (just like Emacs).  Add doc for Nindy-specific
        command line flags for specifying target serial port and such.
        Update copyright to 1991.

gdb/doc/gdb.texinfo

index 557516a..407a8cd 100644 (file)
@@ -4,7 +4,7 @@
 @ifinfo
 This file documents the GNU debugger GDB.
 
-Copyright (C) 1988, 1989 Free Software Foundation, Inc.
+Copyright (C) 1988, 1989, 1990, 1991 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -54,7 +54,7 @@ original English.
 @end tex
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1988, 1989, 1990 Free Software Foundation, Inc.
+Copyright @copyright{} 1988, 1989, 1990, 1991 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -698,6 +698,7 @@ uses @samp{/bin/sh}.
 
 The utility @samp{make} is often needed in development environments.
 You don't have to use the @samp{shell} command for this purpose in GDB:
+
 @table @code
 @item make @dots{}
 @kindex make
@@ -803,6 +804,25 @@ Disables GDB's output of certain informational messages.
 Displays whether @samp{set verbose} is on or off.
 @end table
 
+By default, if GDB encounters bugs in the symbol table of an object file,
+it prints a single message about each type of problem it finds, then 
+shuts up.  You can suppress these messages, or allow more than one such
+message to be printed if you want to see how frequent the problems are.
+@xref{File Commands}.
+
+@table @code
+@kindex set complaints
+@item set complaints @var{howmany}
+Permits GDB to output @var{howmany} complaints about each type of unusual
+symbols before becoming silent about the problem.  Set @var{howmany} to
+zero to suppress all complaints; set it to a large number to prevent
+complaints from being suppressed.
+
+@kindex show complaints
+@item show complaints
+Displays how many symbol complaints GDB is permitted to produce.
+@end table
+
 By default, GDB is cautious, and asks what sometimes seem to be a lot of
 stupid questions.  For example, if you try to run a program which is
 already running:
@@ -907,14 +927,15 @@ program's symbol table.
 
 The @samp{symbol-file} command causes GDB to forget the contents of its
 convenience variables, the value history, and all breakpoints and
-auto-display expressions.  This is because they may contain pointers to the
-internal data recording symbols and data types, which are part of the old
-symbol table data being discarded inside GDB.
+auto-display expressions.  This is because they may contain pointers to
+the internal data recording symbols and data types, which are part of
+the old symbol table data being discarded inside GDB.
 
-On some systems, the @samp{symbol-file} command does not actually read
-the symbol table in full right away.  Instead, it scans the symbol table
-quickly to find which source files and which symbols are present.  The
-details are read later, one source file at a time, when they are needed.
+On some kinds of object files, the @samp{symbol-file} command does not
+actually read the symbol table in full right away.  Instead, it scans
+the symbol table quickly to find which source files and which symbols
+are present.  The details are read later, one source file at a time,
+when they are needed.
 
 The purpose of this two-stage reading strategy is to make GDB start up
 faster.  For the most part, it is invisible except for occasional pauses
@@ -926,6 +947,87 @@ When the symbol table is stored in COFF format, @samp{symbol-file} does
 read the symbol table data in full right away.  We haven't implemented
 the two-stage strategy for COFF yet.
 
+While the symbol file is being read, GDB will occasionally encounter
+problems, such as symbol types it does not recognize, or known bugs in
+compiler output.  By default, it prints one message about each such
+type of problem, no matter how many times the problem occurs.  You can
+ask it to print more messages, to see how many times the problems occur,
+or can shut the messages off entirely, with the @samp{set 
+complaints} command (@xref{User Interface}).
+
+The messages currently printed, and their meanings, are:
+
+@table @code
+@item inner block not inside outer block in @var{symbol}
+
+The symbol information shows where symbol scopes begin and end
+(such as at the start of a function or a block of statements).  This
+error indicates that an inner scope block is not fully contained
+in its outer scope blocks.  GDB circumvents the problem by treating
+the inner block as if it had the same scope as the outer block.
+@var{symbol} may be ``(don't know)'' if the outer block is not
+a function.
+
+@item block at @var{address} out of order
+
+The symbol information for symbol scope blocks should occur in 
+order of increasing addresses.  This error indicates that it does not
+do so.  GDB does not circumvent this problem, and will have trouble
+locating symbols in the source file whose symbols being read.  (You
+can often determine what source file is affected by turning on
+@samp{info verbose}.  @xref{User Interface}.)
+
+@item bad block start address patched
+
+The symbol information for a symbol scope block has a start address
+smaller than the address of the preceding source line.  This is known
+to occur in the SunOS 4.1.1 (and earlier) C compiler.  GDB circumvents
+the problem by treating the symbol scope block as starting on the
+previous source line.
+
+@comment @item{encountered DBX-style class variable debugging information.
+@comment You seem to have compiled your program with "g++ -g0" instead of "g++ -g".
+@comment Therefore GDB will not know about your class variables}
+@comment 
+@comment This error indicates that the symbol information produced for a C++
+@comment program includes zero-size fields, which indicated static fields in
+@comment a previous release of the G++ compiler.  This message is probably
+@comment obsolete.
+@comment
+@item bad string table offset in symbol @var{n}
+
+Symbol number @var{n} contains a pointer into the string table which is
+larger than the size of the string table.  GDB circumvents the problem
+by considering the symbol to have the name @code{foo}, which may cause
+other problems if many symbols end up with this name.  @index{foo}
+
+@item unknown symbol type @code{0xNN}
+
+The symbol information contains new data types that GDB does not yet
+know how to read.  @code{0xNN} is the symbol type of the misunderstood
+information, in hexadecimal.  GDB circumvents the error by ignoring
+this symbol information.  This will usually allow the program to be
+debugged, though certain symbols will not be accessible.  If you
+encounter such a problem and feel like debugging it, you can debug gdb
+with itself, breakpoint on "complain", then go "up" to
+read_dbx_symtab() and examine *bufp to see the symbol.
+
+@item stub type has NULL name
+
+FIXME, Mike Tiemann needs to write about what this means.
+
+@item const/volatile indicator missing, got 'X'
+
+The symbol information for a C++ type is missing some information that
+the compiler should have output for it.
+
+@item C++ type mismatch between compiler and debugger
+
+The debugger could not parse a type specification output by the compiler
+for some C++ object.
+
+@end table
+
 @item core-file @var{filename}
 @itemx core @var{filename}
 @kindex core
@@ -3916,7 +4018,9 @@ command options and arguments have been processed.  @xref{Command
 Files}.
 
 @item -q
-``Quiet''.  Do not print the usual introductory messages.
+``Quiet''.  Do not print the introductory and copyright messages.  These
+messages are also suppressed in batch mode, or if an executable file name is
+specified on the GDB command line.
 
 @item -batch
 Run in batch mode.  Exit with code 0 after processing all the command
@@ -3933,6 +4037,28 @@ like two @samp{\032} characters, followed by the file name, line number
 and character position separated by colons, and a newline.  The
 Emacs-to-GDB interface program uses the two @samp{\032} characters as
 a signal to display the source code for the frame.
+
+@item -b @samp{baudrate}
+Set the baud rate of any serial interface used by GDB (e.g. for remote
+debugging).
+
+@item -r @samp{port}
+Specify the serial port name of a serial interface to be used to connect
+to the target system's Nindy monitor.  (Nindy is the name of a ROM Monitor
+program for Intel 960 target systems.)  This option is only available when
+GDB is configured for the Intel 960 target architecture.
+
+@item -O
+Specify that GDB should use the ``old'' Nindy monitor protocol to connect
+to the target system.  This option is only available when GDB is configured
+for the Intel 960 target architecture.
+
+@item -brk
+Specify that GDB should first send a @samp{BREAK} signal to the target
+system, in an attempt to reset it, before connecting to a Nindy target.
+This option is only available when GDB is configured for the Intel 960
+target architecture.
+
 @end table
 
 @node File Options, Other Arguments, Mode Options, Options