This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA/DOC] record pic
- From: Hui Zhu <teawater at gmail dot com>
- To: Eli Zaretskii <eliz at gnu dot org>
- Cc: gdb-patches at sourceware dot org, Joel Brobecker <brobecker at adacore dot com>
- Date: Mon, 23 Aug 2010 16:25:39 +0800
- Subject: Re: [RFA/DOC] record pic
- References: <AANLkTikzyrfRqeBzxLBF35CHgFtktEO65khIGUaU83fB@mail.gmail.com> <83fx039kel.fsf@gnu.org> <AANLkTil8GPvq39y8PYjYeWrKZiT1OocoGOD5Zwfx1U6E@mail.gmail.com> <83y6c1prnh.fsf@gnu.org>
Thanks Eli, sorry for late.
On Fri, Aug 20, 2010 at 17:20, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Hui Zhu <teawater@gmail.com>
>> Date: Fri, 2 Jul 2010 14:28:54 +0800
>> Cc: gdb-patches@sourceware.org
>>
>> > What's a vcg file?
>>
>> VCG file is "Visualization of Compiler Graphs". ?I didn't find other
>> good define about it. :(
>> There are some introduce about it.
>> http://gcc.gnu.org/news/egcs-vcg.html
>> http://rw4.cs.uni-sb.de/~sander/html/gsvcg1.html
>>
>> To see the file. ?I suggest use http://code.google.com/p/vcgviewer/
>
> This information should be added to the docs.
>
>> >> +set record pic hide-nofunction on|off
>> >> + ?Set or show whether `record pic' hide the nodes that don't have
>> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?^^^^
>> > "hides"
>> >
>> > But what does it mean to "hide the nodes"?
>>
>> 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.
>
> There should be an explanation about this in the manual and in NEWS.
>
>> +set record pic hide-nofunction on|off
>> + ?Set or show whether `record pic' hides the nodes that don't have
>> + ?the function name.
>
> What are "the nodes without function name"?
>
>> +set record pic hide-nosource on|off
>> + ?Set or show whether `record pic' hides the nodes that don't have
>> + ?the source message.
>
> What are "nodes that don't have the source message"? ?And what is a
> "source message"?
struct symtab_and_line
I have change it to "nodes without source line debug message."
>
>> +set record pic hide-sameaddr on|off
>> + ?Set or show whether `record pic' hides the nodes that have the
>> + ?same address node in vcg file.
>
> Do you mean here multiple nodes that have the same address? ?If so,
> what will be hidden in that case? all nodes but the first one?
Yes.
>
>> +@kindex set record pic type
>
> There's no need to index each subcommand of "set record pic",
> especially since they all are described one after the other. ?It's
> good enough to have only one "@kindex set record pic" before the first
> subcommand.
>
>> +@item set record pic type @var{type}
>> +Set the type of the nodes that @code{record pic} saved.
>
> Do you mean "the type of nodes that @code{record pic} will save"?
>
>> +When @var{type} is set to @code{line} (the default), each node of vcg
>> +file that @code{record pic} saved will be a line of the inferior.
>> +
>> +When @var{type} is set to @code{function}, each node of vcg file that
>> +@code{record pic} saved will be a function of the inferior.
>
> Are these two the only types? ?If not, what are the other possible
> values?
>
There two are the only types for now. Others is not still completed.
>> +If ON (the default), @code{record pic} will hides the nodes that don't
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?^^^^^^^^^^
> "will hide"
>
>> +If ON (the default), @code{record pic} will hides the nodes that
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?^^^^^^^^^^
> "will hide"
>
>> +If ON (the default), @code{record pic} will hides the nodes that have
>
> Same here.
>
>> +the same address node in vcg file. ?And @code{record pic} will show
>> +the execute count number of this node in format @code{c:number}
>
> Show where? ?And what is "c" in @code{c:number}?
There part will show a letter "c".
for example "c:10". I am not sure this format is right or not.
Please help me with it if I made mistake.
>
>> +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.
>
> Same here regarding the "i" part.
>
Same with "c".
I make a new patch. Please help me review it.
Best,
Hui
2010-08-23 Hui Zhu <teawater@gmail.com>
* gdb.texinfo: (Process Record and Replay): Add documentation
for command "record pic".
---
NEWS | 20 ++++++++++++++++++
doc/gdb.texinfo | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 80 insertions(+)
--- a/NEWS
+++ b/NEWS
@@ -231,6 +231,26 @@ QTDPsrc
* New commands
+record pic [<FILENAME>]
+ Save the execution log to a VCG file.
+
+set record pic type line|function
+ Set or show the type of the nodes that `record pic' will save.
+
+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.
+
+set record pic hide-nosource on|off
+ Set or show whether `record pic' hides the nodes without source line
+ debug message.
+
+set record pic hide-sameaddr on|off
+ Set or show whether `record pic' hides the nodes that have the
+ same address node in vcg file.
+
eval template, expressions...
Convert the values of one or more expressions under the control
of the string template to a command line, and call it.
--- a/doc/gdb.texinfo
+++ b/doc/gdb.texinfo
@@ -5678,6 +5678,66 @@ Default filename is @file{gdb_record.@va
Restore the execution log from a file @file{@var{filename}}.
File must have been created with @code{record save}.
+@kindex record pic
+@item record pic @var{filename}
+Save the execution log to a VCG file @file{@var{filename}}.
+Default filename is @file{gdb_record_@var{process_id}.vcg},
+where @var{process_id} is the process ID of the inferior.
+
+Vcgviewer (http://code.google.com/p/vcgviewer/) or xvcg can
+open this file.
+
+@kindex set record pic type
+@item set record pic type @var{type}
+Set the type of nodes that @code{record pic} will save.
+
+When @var{type} is set to @code{line} (the default), each node of vcg
+file that @code{record pic} saved will be a line of the inferior.
+
+When @var{type} is set to @code{function}, each node of vcg file that
+@code{record pic} saved will be a function of the inferior.
+
+@item show record pic type
+Show the current setting of @code{pic type}.
+
+@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.
+
+Set whether @code{record pic} hides the nodes without function name.
+
+If ON (the default), @code{record pic} will hide the nodes without
+function name.
+
+@item show record pic hide-nofunction
+Show the current setting of @code{pic hide-nofunction}.
+
+@item set record pic hide-nosource
+Set whether @code{record pic} hides the nodes without source line
+debug message.
+
+If ON (the default), @code{record pic} will hide the nodes without
+source line debug message.
+
+@item show record pic hide-nosource
+Show the current setting of @code{pic hide-nosource}.
+
+@item set record pic hide-sameaddr
+Set whether @code{record pic} hides the nodes that have the same
+address node in vcg file.
+
+If ON (the default), @code{record pic} will hide the nodes that have
+the same address node in vcg file. And @code{record pic} will show
+the execute count number of this node in format @code{c:number}
+
+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.
+
+@item show record pic hide-same
+Show the current setting of @code{pic hide-same}.
+
@kindex set record insn-number-max
@item set record insn-number-max @var{limit}
Set the limit of instructions to be recorded. Default value is 200000.