public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Hui Zhu <teawater@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gdb-patches@sourceware.org, Joel Brobecker <brobecker@adacore.com>
Subject: Re: [RFA/DOC] record pic
Date: Mon, 23 Aug 2010 08:26:00 -0000	[thread overview]
Message-ID: <AANLkTi=QB9XA_v_2_6xnDdXbcPakK8nnbL1dyF9Jx92M@mail.gmail.com> (raw)
In-Reply-To: <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.

  reply	other threads:[~2010-08-23  8:26 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-01  7:12 Hui Zhu
2010-07-01 17:31 ` Eli Zaretskii
2010-07-02  6:29   ` Hui Zhu
2010-08-20  9:22     ` Eli Zaretskii
2010-08-23  8:26       ` Hui Zhu [this message]
2010-08-23 16:35         ` Eli Zaretskii
2010-08-24  3:19           ` Hui Zhu
2010-08-24 17:22             ` Eli Zaretskii
2010-08-25  2:28               ` Hui Zhu
2010-08-27 14:40                 ` Joel Brobecker
2010-08-27 15:50                   ` Eli Zaretskii
2010-08-27 15:58                     ` Joel Brobecker
2010-08-28  1:15                       ` Hui Zhu
2010-08-28  1:24                         ` Joel Brobecker
2010-09-01 18:21                           ` Michael Snyder
2010-09-01 18:28                             ` Joel Brobecker
2010-09-01 23:04                               ` Joel Brobecker
2010-09-02  1:21                                 ` Joel Brobecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='AANLkTi=QB9XA_v_2_6xnDdXbcPakK8nnbL1dyF9Jx92M@mail.gmail.com' \
    --to=teawater@gmail.com \
    --cc=brobecker@adacore.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).