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: [RFA/DOC] record pic


> From: Hui Zhu <teawater@gmail.com>
> Date: Tue, 24 Aug 2010 11:19:06 +0800
> Cc: gdb-patches@sourceware.org, brobecker@adacore.com
> 
> >> +set record pic hide-nofunction on|off
> >> + ?The each line or each function will be show in vcg file as a node.
> >> + ?Sometime, we don't want show it. ?So hide the nodes.
> >> + ?Set or show whether `record pic' hides the nodes without function
> >> + ?name.
> >
> > Rephrase:
> >
> > ?Normally each line and each function will show up as a node in the
> > ?VCG file. ?This command does not save nodes that correspond to
> > ?functions.
> >
> > Btw, you didn't answer my question what is a "node without function
> > name". ?Because of this, I'm not sure the above text I suggest is
> > correct. ?Please explain more about this.
> 
> It like the line, if this address doesn't have the debug message, it
> will not have the function name.

When would a function lack debug info? in a stripped executable?  If
so, what would "record pic" produce for functions that cannot be found
in the symbol table, when hide-nofunction is OFF?

> >> +When @var{type} is set to @code{function}, each node of vcg file that
> >
> > Again, "a VCG file}
> >
> >> +@code{record pic} saved will be a function of the inferior.
> > ? ? ? ? ? ? ? ? ? ? ? ? ? ^^^^^^^^^^^^^^^^^^
> > "will represent a function".
> >
> > Do you mean that all the lines belonging to a function will be
> > represented by a single node?
> 
> No.  Each line will be a special note.

I'm confused.  You say that when "set record pic function" is in
effect, each node of the VCG file will be a function.  Now you are
saying that each line "will be a special note".  What note? and how is
this different from "set record pic line"?

Maybe you could show a fragment of the produced VCG file under each
option and command, so I could understand what is the effect of each
one of them, and suggest the appropriate text for the manual.

> >> +@item set record pic hide-nofunction
> >> +The each line or each function will be show in vcg file as a node.
> >> +Sometime, we don't want show it. ?So hide the nodes.
> >
> > I still don't understand what this means. ?Will only the function
> > nodes hidden? ?If so, do you mean that the saved nodes will represent
> > lines, but there will be no nodes that represent functions? ?How is
> > this different from saying "set record pic line"?
> 
> For line and function.  The node will be hide when:
>                   /* Get the start addr of function.  */
>                   addr = get_pc_function_start (addr);
>                   if (addr == 0)
>                     {
>                       if (record_pic_hide_nofunction)
>                         goto exec;
> When we try to get the function start address.
>               function = lookup_minimal_symbol_by_pc (addr);
>               if (!function && record_pic_hide_nofunction)
>                 goto exec;
> And the find the function's name.

This seems to say that hide-nofunction affects the situations where we
cannot get the function's address, or couldn't find its entry in the
symtab.  Is that right?  Is this option effective only for such
functions?  If so, what will be produced in the VCG file when a
function has no address or is not in the symtab, but hide-nofunction
is OFF?

Again, a fragment from the file for each possibility would be great to
explain to me what to write in the manual.

> >> +If OFF, @code{record pic} will show the nodes that have the same
> >> +address node in vcg file. ?And @code{record pic} will show the
> >> +instruction number in format @code{i:number} that
> >> +@value{record goto} support.
> >
> > Please replace the last sentence with this:
> >
> > ?Each node will show its instruction count in the form
> > ?@code{i:@var{num}}.
> >
> > Is this i:NUM display shown always, or is it shown only when nodes
> > with identical addresses are shown individually, as opposed to
> > collapsed into a single node?
> 
> It always display.

Then please don't tell this as part of describing hide-sameaddr OFF.
Describe it separately, to avoid the impression that hide-sameaddr
somehow affects the i:NUM display.

> I make a new one.  please help me review it.

I will wait with the rest of the review until I understand the issues
better, according to your answers to the above questions.

Thanks.


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