From: Hui Zhu <teawater@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gdb-patches@sourceware.org, brobecker@adacore.com
Subject: Re: [RFA/DOC] record pic
Date: Tue, 24 Aug 2010 03:19:00 -0000 [thread overview]
Message-ID: <AANLkTik0x8fWuFTdnym2M1XaXBxOhVDTjhudB65iKPSh@mail.gmail.com> (raw)
In-Reply-To: <83hbilnv4n.fsf@gnu.org>
Thanke Eli,
On Tue, Aug 24, 2010 at 00:36, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Hui Zhu <teawater@gmail.com>
>> Date: Mon, 23 Aug 2010 16:25:39 +0800
>> Cc: gdb-patches@sourceware.org, Joel Brobecker <brobecker@adacore.com>
>>
>> I make a new patch. Please help me review it.
>
> Thanks. It's closer, but still not there.
>
>> +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.
>
>> +set record pic hide-nosource on|off
>> + Set or show whether `record pic' hides the nodes without source line
>> + debug message. ^^^^^^^^^^^
> ^^^^^^^^^^^^^
> "source line debug info"
>
>> +@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.
>
> Please add here:
>
> @cindex VCG file
> VCG (Visualization of Compiler Graphs) is a format for textual and
> readable specification of graph structures. It is used for
> visualizing large graphs generated by programs.
>
>> +Vcgviewer (http://code.google.com/p/vcgviewer/) or xvcg can
>> +open this file.
>
> Please rephrase:
>
> Various programs such as @uref{http://code.google.com/p/vcgviewer/,
> VCGViewer} or @uref{http://rw4.cs.uni-sb.de/users/sander/html/gsvcg1.html,
> xvcg} can display these files on graphics terminals.
>
>> +@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
> ^^^
> "VCG" (upper case). Also "a VCG file", add "a".
>
>> +file that @code{record pic} saved will be a line of the inferior.
>
> Each node of a VCG file saved by @code{record pic} will represent a
> line in the inferior's code.
>
>> +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.
>
>> +@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.
>
>> +@item set record pic hide-nosource
>> +Set whether @code{record pic} hides the nodes without source line
>> +debug message.
> ^^^^^^^^^^^^^
> "debug information"
>
>> +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 ON (the default), @code{record pic} will represent nodes that
> have the same address as a single node with a count. The count will
> be in the form @code{c:@var{count}}.
>
>> +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.
>
>> +@item show record pic hide-same
>> +Show the current setting of @code{pic hide-same}.
>
> "hide-same" or "hide-sameaddr"?
>
I make a new one. please help me review it.
Thanks,
Hui
2010-08-24 Hui Zhu <teawater@gmail.com>
* gdb.texinfo: (Process Record and Replay): Add documentation
for command "record pic".
---
NEWS | 21 +++++++++++++++++
doc/gdb.texinfo | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 87 insertions(+)
--- a/NEWS
+++ b/NEWS
@@ -231,6 +231,27 @@ 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
+ 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.
+ 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 information.
+
+set record pic hide-sameaddr on|off
+ Set or show whether `record pic' hides the nodes that have the
+ same address node in a 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,72 @@ 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.
+
+@cindex VCG file
+VCG (Visualization of Compiler Graphs) is a format for textual and
+readable specification of graph structures. It is used for
+visualizing large graphs generated by programs.
+
+Various programs such as @uref{http://code.google.com/p/vcgviewer/,
+VCGViewer} or @uref{http://rw4.cs.uni-sb.de/users/sander/html/gsvcg1.html,
+xvcg} can display these files on graphics terminals.
+
+@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 a VCG
+file saved by @code{record pic} will represent a line in the inferior's
+code.
+
+When @var{type} is set to @code{function}, each node of a VCG file that
+@code{record pic} saved will represent a function of the inferior.
+
+@item show record pic type
+Show the current setting of @code{pic type}.
+
+@item set record pic hide-nofunction
+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.
+
+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 information.
+
+If ON (the default), @code{record pic} will hide the nodes without
+source line debug information.
+
+@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 a VCG file.
+
+If ON (the default), @code{record pic} will represent nodes that
+have the same address as a single node with a count. The count will
+be in the form @code{c:@var{count}}.
+
+If OFF, @code{record pic} will show the nodes that have the same
+address node in a VCG file. Each node will show its instruction
+number in the form @code{i:@var{num}}.
+
+@item show record pic hide-sameaddr
+Show the current setting of @code{pic hide-sameaddr}.
+
@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.
next prev parent reply other threads:[~2010-08-24 3:19 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
2010-08-23 16:35 ` Eli Zaretskii
2010-08-24 3:19 ` Hui Zhu [this message]
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=AANLkTik0x8fWuFTdnym2M1XaXBxOhVDTjhudB65iKPSh@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).