This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 12/13] Document "no debug info debugging" improvements


> From: Pedro Alves <palves@redhat.com>
> Date: Thu, 13 Jul 2017 03:19:30 +0100
> 
> Here's the documentation bits for all the improvements.  The original
> "weak alias functions" paragraph ends up disappearing, because this
> other patch, which I'm considering kind of part of this series, makes the
> alias case Just Work:
>   https://sourceware.org/ml/gdb-patches/2017-07/msg00018.html
> 
> gdb/ChangeLog:
> yyyy-mm-dd  Pedro Alves  <palves@redhat.com>
> 
> 	* NEWS (Safer support for debugging with no debug info): New.
> 
> gdb/doc/ChangeLog:
> yyyy-mm-dd  Pedro Alves  <palves@redhat.com>
> 
> 	* gdb.texinfo (Variables): Document inspecting no-debug-info
> 	variables.
> 	(Symbols): Document inspecting no-debug-info types.
> 	(Calling): Document calling no-debug-info functions.

Thanks, this is okay with a minor comment:

> +includes no debug information, @value{GDBN} says @w{@samp{'var' has
> +unknown type; cast it to its declared type}}.  @xref{Symbols, unknown
> +type}, for more about unknown types.  If you cast the variable to its
> +declared type, @value{GDBN} gets the variable's value using the
> +cast-to type as the variable's type.  For example, in a C program:
> +
> +@smallexample
> +  (@value{GDBP}) p var
> +  'var' has unknown type; cast it to its declared type
> +  (@value{GDBP}) p (float) var
> +  $1 = 3.14
> +@end smallexample

Since you have an example showing the error message, repeating that in
the text is redundant.  Moreover, it will almost certainly cause an
overfull hbox.  Instead, I would just say

  If you try to inspect the type of a (global) variable for which
  @value{GDBN} has no type information, @value{GDBN} displays an error
  message.

> +@cindex unknown type
> +Othertimes, information about a variable's type is completely absent
> +from the debug information included in the program.  This most often
> +happens when the program or library where the variable is defined
> +includes no debug information at all.  @value{GDBN} knows the variable
> +exists from inspecting the linker/loader symbol table (e.g., the ELF
> +dynamic symbol table), but such symbols do not contain type
> +information.  If you try to inspect the type of a (global) variable
> +for which @value{GDBN} has no type information, @value{GDBN} says
> +@w{@samp{<data variable, no debug info>}}.  For example:

Same here.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]