From 0179ffacc777997a3db9f4c262c9c8923bdb41ff Mon Sep 17 00:00:00 2001 From: David Carlton Date: Tue, 4 Feb 2003 21:14:46 +0000 Subject: [PATCH] 2003-02-04 David Carlton * 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. --- gdb/doc/ChangeLog | 9 +++++++ gdb/doc/gdb.texinfo | 59 ++++++++++++++++++++------------------------- 2 files changed, 35 insertions(+), 33 deletions(-) diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 832ac375c6..4b3071c918 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,12 @@ +2003-02-04 David Carlton + + * 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 * gdbint.texinfo (Target Architecture Definition): Delete diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index b3dd7a7f1d..a115e2743c 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -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