From: Hui Zhu <teawater@gmail.com>
To: Marc Khouzam <marc.khouzam@ericsson.com>,
Pedro Alves <pedro@codesourcery.com>,
Michael Snyder <msnyder@vmware.com>,
Jan Kratochvil <jan.kratochvil@redhat.com>,
Joel Brobecker <brobecker@adacore.com>
Cc: gdb-patches ml <gdb-patches@sourceware.org>
Subject: Re: Testing of reverse debug commands
Date: Mon, 13 Jul 2009 05:34:00 -0000 [thread overview]
Message-ID: <daef60380907122031la6c31c6oe752ae17db842933@mail.gmail.com> (raw)
In-Reply-To: <6D19CA8D71C89C43A057926FE0D4ADAA07B71A3E@ecamlmw720.eamcs.ericsson.se>
[-- Attachment #1: Type: text/plain, Size: 3877 bytes --]
On Mon, Jul 13, 2009 at 03:25, Marc Khouzam<marc.khouzam@ericsson.com> wrote:
>> -----Original Message-----
>> From: Pedro Alves [mailto:pedro@codesourcery.com]
>> Sent: July-12-09 3:08 PM
>> To: gdb@sourceware.org
>> Cc: Marc Khouzam; Michael Snyder; Jan Kratochvil; Joel
>> Brobecker; Hui Zhu
>> Subject: Re: Testing of reverse debug commands
>>
>> On Sunday 12 July 2009 19:49:58, Marc Khouzam wrote:
>>
>> > From a frontend perspective, the current 'record' command
>> is not very
>> > good.
>>
>> > First, there is no MI equivalent, although that is not a big deal.
>> > But since it does not report error, the frontend must always assumes
>> > that
>> > the command worked.
>>
>> Are you sure that is the case with "record"? I see `error' calls
>> in record.c:record_open. If there are some missing, let's add them.
>
> As usual you are right. :-)
>
> (gdb) record
> &"record\n"
> &"Process record target can't debug inferior in asynchronous mode
> (target-async).\n"
> ^error,msg="Process record target can't debug inferior in asynchronous
> mode (target-async)."
> (gdb)
>
> I had made the assumption that 'record stop' was the same as 'record'.
>
>> > Below you can see that using 'record stop' directly will
>> give a ^done
>> > instead of an ^error when it fails (although there is an
>> error message
>> > but we don't parse those in Eclipse). Also, using -interpreter-exec
>> > is even worse as even the error message is gone.
>>
>> Note that "record stop" is really a different command, although
>> it shares a common "record" prefix.
>>
>> >
>> > (gdb)
>> > record stop
>> > &"record stop\n"
>> > ~"Process record is not started.\n"
>> > ^done
>> > (gdb)
>>
>> > So, I think some improvement would be nice for frontends.
>>
>> So, is this really an error? Hui seems to have thought
>> it wasn't. Hui? If it is, then it's just a matter of
>> changing the corresponding printf_unfiltered calls in
>> record.c to `error' calls (look for the "Process record
>> is..." string).
>> Then MI will get an ^error,msg="foo", instead of a ~"foo" + ^done.
>
> That would be more consistent for a frontend. The frontend
> can then decide if this should be reported as an error or simply
> accepted. But that is not such a big deal anymore, now that
> you pointed out 'record' itself does report an error.
>
I think the record's query and something is make a lot of troubles.
I make a patch for it. Please help me with it.
Thanks,
Hui
2009-07-13 Hui Zhu <teawater@gmail.com>
* record.c (record_open): Change "query" to "error".
(cmd_record_stop): Change "query" to "printf_unfiltered".
---
record.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
--- a/record.c
+++ b/record.c
@@ -436,12 +436,8 @@ record_open (char *name, int from_tty)
/* Check if record target is already running. */
if (current_target.to_stratum == record_stratum)
- {
- if (!nquery
- (_("Process record target already running, do you want to delete "
- "the old record log?")))
- return;
- }
+ error (_("Process record target already running. Use \"record stop\" to "
+ "stop record target first."));
/*Reset the beneath function pointers. */
record_beneath_to_resume = NULL;
@@ -1157,9 +1153,9 @@ cmd_record_stop (char *args, int from_tt
{
if (current_target.to_stratum == record_stratum)
{
- if (!record_list || !from_tty || query (_("Delete recorded log and "
- "stop recording?")))
- unpush_target (&record_ops);
+ unpush_target (&record_ops);
+ printf_unfiltered (_("Process record is stoped and all execution "
+ "log is deleted.\n"));
}
else
printf_unfiltered (_("Process record is not started.\n"));
[-- Attachment #2: prec_remove_query.txt --]
[-- Type: text/plain, Size: 1166 bytes --]
---
record.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
--- a/record.c
+++ b/record.c
@@ -436,12 +436,8 @@ record_open (char *name, int from_tty)
/* Check if record target is already running. */
if (current_target.to_stratum == record_stratum)
- {
- if (!nquery
- (_("Process record target already running, do you want to delete "
- "the old record log?")))
- return;
- }
+ error (_("Process record target already running. Use \"record stop\" to "
+ "stop record target first."));
/*Reset the beneath function pointers. */
record_beneath_to_resume = NULL;
@@ -1157,9 +1153,9 @@ cmd_record_stop (char *args, int from_tt
{
if (current_target.to_stratum == record_stratum)
{
- if (!record_list || !from_tty || query (_("Delete recorded log and "
- "stop recording?")))
- unpush_target (&record_ops);
+ unpush_target (&record_ops);
+ printf_unfiltered (_("Process record is stoped and all execution "
+ "log is deleted.\n"));
}
else
printf_unfiltered (_("Process record is not started.\n"));
next parent reply other threads:[~2009-07-13 3:32 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4A5930EE.3040201@vmware.com>
[not found] ` <4A5A19FC.9050206@vmware.com>
[not found] ` <6D19CA8D71C89C43A057926FE0D4ADAA07B71A36@ecamlmw720.eamcs.ericsson.se>
[not found] ` <200907122007.38248.pedro@codesourcery.com>
[not found] ` <6D19CA8D71C89C43A057926FE0D4ADAA07B71A3E@ecamlmw720.eamcs.ericsson.se>
2009-07-13 5:34 ` Hui Zhu [this message]
2009-07-20 13:27 ` Pedro Alves
2009-07-20 14:42 ` Hui Zhu
2009-07-21 20:20 ` Tom Tromey
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=daef60380907122031la6c31c6oe752ae17db842933@mail.gmail.com \
--to=teawater@gmail.com \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=jan.kratochvil@redhat.com \
--cc=marc.khouzam@ericsson.com \
--cc=msnyder@vmware.com \
--cc=pedro@codesourcery.com \
/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