This is the mail archive of the gdb@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: Reverse debugging


Thanks Marc,  but what about I keep it but add some switches for it?
I want keep the query to tui user.
For example:
set record query off
set record changememeory on

Thanks,
Hui


On Sun, Jul 19, 2009 at 11:19, Marc Khouzam<marc.khouzam@ericsson.com> wrote:
>> -----Original Message-----
>> From: Daniel Jacobowitz [mailto:drow@false.org]
>> Sent: July-17-09 10:25 AM
>> To: Marc Khouzam
>> Cc: Nick Roberts; Hui Zhu; gdb@sources.redhat.com; Michael Snyder
>> Subject: Re: Reverse debugging
>>
>> On Fri, Jul 17, 2009 at 10:12:00AM -0400, Marc Khouzam wrote:
>> > I noticed that the previous CDT GDB integration has its console
>> > considered
>> > a tty. ?It may be worth looking into the difference... when
>> time allows
>> > it :-)
>>
>> Wasn't someone just talking on cdt-dev about trouble with whether DSF
>> used Spawner or not? ?That'd do it.
>
> I was wrong about the console being a tty. ?The old CDT GDB integration
> console is also not a tty. ?What they do though is use
> 'set confirm off'. ?That makes sense since queries are being answered
> automatically anyway.
>
> Nick, in your specific case 'confirm off' would work. ?The default
> answer to
> 'record stop' is yes (well, there is not default, but in that case, 'y'
> is
> chosen). ?If you don't want to always 'set confirm off' you may consider
> setting it right before sending 'record stop' and turn it back on
> right after. ?That may be a good enough workaround until there is a
> proper
> solution to this query problem.
>
> For me the problem for PRecord remains because the default value is
> not always what I want. ?For example, in PRecord the default answer
> to changing memory and loosing the recorded history
> is "N", but as a frontend, I want to answer "Y".
>
> To fix this problem I suggest that in record.c,
> we replace 'nquery' with 'query'; that will make the default be 'Y' when
>
> confirm is off or when there is no tty. ?Note that this seems to be what
>
> is being done everywhere else in GDB. ?There is only one case (pending
> breakpoints) that uses default queries, outside of PRecord. ?Except for
> that
> one case, it is really only PRecord that uses yquery and nquery. ?And
> the
> pending breakpoint case is not a problem for frontends that use MI
> because
> the MI command does not trigger the query.
>
> Note that up to now, I've been recompiling GDB with that suggestion
> so that I can properly use PRecord in Eclipse.
>
> The below patch implements the suggestion.
>
> Thanks
>
> Marc
>
> ChangeLog
> 2009-07-18 ?Marc Khouzam ?<marc.khouzam@ericsson.com>
>
> ? ? ? ?* record.c (record_store_registers): Replace nquery with
> ? ? ? ?query to allow frontends to automatically answer 'y'.
> ? ? ? ?(record_xfer_partial): Ditto.
>
>
> ### Eclipse Workspace Patch 1.0
> #P src
> Index: gdb/record.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/record.c,v
> retrieving revision 1.8
> diff -u -r1.8 record.c
> --- gdb/record.c ? ? ? ?2 Jul 2009 17:21:06 -0000 ? ? ? 1.8
> +++ gdb/record.c ? ? ? ?19 Jul 2009 03:06:01 -0000
> @@ -937,13 +937,13 @@
> ? ? ? ? ?/* Let user choose if he wants to write register or not. ?*/
> ? ? ? ? ?if (regno < 0)
> ? ? ? ? ? ?n =
> - ? ? ? ? ? ? nquery (_("Because GDB is in replay mode, changing the "
> + ? ? ? ? ? ? query (_("Because GDB is in replay mode, changing the "
> ? ? ? ? ? ? ? ? ? ? ? ?"value of a register will make the execution "
> ? ? ? ? ? ? ? ? ? ? ? ?"log unusable from this point onward. ?"
> ? ? ? ? ? ? ? ? ? ? ? ?"Change all registers?"));
> ? ? ? ? ?else
> ? ? ? ? ? ?n =
> - ? ? ? ? ? ? nquery (_("Because GDB is in replay mode, changing the
> value "
> + ? ? ? ? ? ? query (_("Because GDB is in replay mode, changing the
> value "
> ? ? ? ? ? ? ? ? ? ? ? ?"of a register will make the execution log
> unusable "
> ? ? ? ? ? ? ? ? ? ? ? ?"from this point onward. ?Change register %s?"),
> ? ? ? ? ? ? ? ? ? ? ?gdbarch_register_name (get_regcache_arch
> (regcache),
> @@ -993,7 +993,7 @@
> ? ? ? if (RECORD_IS_REPLAY)
> ? ? ? ?{
> ? ? ? ? ?/* Let user choose if he wants to write memory or not. ?*/
> - ? ? ? ? if (!nquery (_("Because GDB is in replay mode, writing to
> memory "
> + ? ? ? ? if (!query (_("Because GDB is in replay mode, writing to
> memory "
> ? ? ? ? ? ? ? ? ? ? ? ? "will make the execution log unusable from this
> "
> ? ? ? ? ? ? ? ? ? ? ? ? "point onward. ?Write memory at address %s?"),
> ? ? ? ? ? ? ? ? ? ? ? paddress (target_gdbarch, offset)))
>
>
>
>


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