2003-02-04 David Carlton <carlton@math.stanford.edu>

* gdb.texinfo (C@t{++}): Recommend DWARF 2, then stabs+.
	(Variables): Recommend stabs+ and DWARF 2.
	(C plus plus expressions): Correct info about
	compiler versions, debug formats.
	(Contributors): Change 'DWARF2' to 'DWARF 2'.
	PR symtab/874.
This commit is contained in:
David Carlton 2003-02-04 21:14:46 +00:00
parent 0cf824c9e4
commit 0179ffacc7
2 changed files with 35 additions and 33 deletions

View File

@ -1,3 +1,12 @@
2003-02-04 David Carlton <carlton@math.stanford.edu>
* gdb.texinfo (C@t{++}): Recommend DWARF 2, then stabs+.
(Variables): Recommend stabs+ and DWARF 2.
(C plus plus expressions): Correct info about
compiler versions, debug formats.
(Contributors): Change 'DWARF2' to 'DWARF 2'.
PR symtab/874.
2003-02-01 Andrew Cagney <ac131313@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Delete

View File

@ -371,7 +371,7 @@ Henkel-Wallace, Rich Pixley, Steve Chamberlain, and John Gilmore.
David Johnson wrote the original COFF support; Pace Willison did
the original support for encapsulated COFF.
Brent Benson of Harris Computer Systems contributed DWARF2 support.
Brent Benson of Harris Computer Systems contributed DWARF 2 support.
Adam de Boor and Bradley Davis contributed the ISI Optimum V support.
Per Bothner, Noboyuki Hikichi, and Alessandro Forin contributed MIPS
@ -4711,13 +4711,12 @@ No symbol "foo" in current context.
To solve such problems, either recompile without optimizations, or use a
different debug info format, if the compiler supports several such
formats. For example, @value{NGCC}, the @sc{gnu} C/C@t{++} compiler usually
supports the @samp{-gstabs} option. @samp{-gstabs} produces debug info
in a format that is superior to formats such as COFF. You may be able
to use DWARF2 (@samp{-gdwarf-2}), which is also an effective form for
debug info. See @ref{Debugging Options,,Options for Debugging Your
Program or @sc{gnu} CC, gcc.info, Using @sc{gnu} CC}, for more
information.
formats. For example, @value{NGCC}, the @sc{gnu} C/C@t{++} compiler
usually supports the @option{-gstabs+} option. @option{-gstabs+}
produces debug info in a format that is superior to formats such as
COFF. You may be able to use DWARF 2 (@option{-gdwarf-2}), which is also
an effective form for debug info. @xref{Debugging Options,,Options
for Debugging Your Program or @sc{gnu} CC, gcc.info, Using @sc{gnu} CC}.
@node Arrays
@ -7812,11 +7811,12 @@ effectively, you must compile your C@t{++} programs with a supported
C@t{++} compiler, such as @sc{gnu} @code{g++}, or the HP ANSI C@t{++}
compiler (@code{aCC}).
For best results when using @sc{gnu} C@t{++}, use the stabs debugging
format. You can select that format explicitly with the @code{g++}
command-line options @samp{-gstabs} or @samp{-gstabs+}. See
@ref{Debugging Options,,Options for Debugging Your Program or @sc{gnu}
CC, gcc.info, Using @sc{gnu} CC}, for more information.
For best results when using @sc{gnu} C@t{++}, use the DWARF 2 debugging
format; if it doesn't work on your system, try the stabs+ debugging
format. You can select those formats explicitly with the @code{g++}
command-line options @option{-gdwarf-2} and @option{-gstabs+}.
@xref{Debugging Options,,Options for Debugging Your Program or @sc{gnu}
CC, gcc.info, Using @sc{gnu} CC}.
@menu
* C Operators:: C and C@t{++} operators
@ -8062,28 +8062,21 @@ and @samp{@{&"hi", &"there", &"fred"@}} is a three-element array of pointers.
@cindex expressions in C@t{++}
@value{GDBN} expression handling can interpret most C@t{++} expressions.
@cindex C@t{++} support, not in @sc{coff}
@cindex @sc{coff} versus C@t{++}
@cindex C@t{++} and object formats
@cindex object formats and C@t{++}
@cindex a.out and C@t{++}
@cindex @sc{ecoff} and C@t{++}
@cindex @sc{xcoff} and C@t{++}
@cindex @sc{elf}/stabs and C@t{++}
@cindex @sc{elf}/@sc{dwarf} and C@t{++}
@c FIXME!! GDB may eventually be able to debug C++ using DWARF; check
@c periodically whether this has happened...
@cindex debugging C@t{++} programs
@cindex C@t{++} compilers
@cindex debug formats and C@t{++}
@cindex @value{NGCC} and C@t{++}
@quotation
@emph{Warning:} @value{GDBN} can only debug C@t{++} code if you use the
proper compiler. Typically, C@t{++} debugging depends on the use of
additional debugging information in the symbol table, and thus requires
special support. In particular, if your compiler generates a.out, MIPS
@sc{ecoff}, RS/6000 @sc{xcoff}, or @sc{elf} with stabs extensions to the
symbol table, these facilities are all available. (With @sc{gnu} CC,
you can use the @samp{-gstabs} option to request stabs debugging
extensions explicitly.) Where the object code format is standard
@sc{coff} or @sc{dwarf} in @sc{elf}, on the other hand, most of the C@t{++}
support in @value{GDBN} does @emph{not} work.
proper compiler and the proper debug format. Currently, @value{GDBN}
works best when debugging C@t{++} code that is compiled with
@value{NGCC} 2.95.3 or with @value{NGCC} 3.1 or newer, using the options
@option{-gdwarf-2} or @option{-gstabs+}. DWARF 2 is preferred over
stabs+. Most configurations of @value{NGCC} emit either DWARF 2 or
stabs+ as their default debug format, so you usually don't need to
specify a debug format explicitly. Other compilers and/or debug formats
are likely to work badly or not at all when using @value{GDBN} to debug
C@t{++} code.
@end quotation
@enumerate