[RFA] Resubmit process record and replay, 6/10

Michael Snyder msnyder@vmware.com
Wed Nov 26 15:55:00 GMT 2008


teawater wrote:
> On Tue, Nov 25, 2008 at 03:16, Michael Snyder <msnyder@vmware.com> wrote:
>> teawater wrote:
>>> Hi Michael,
>>>
>>> About "record_not_record_set", It set record_not_record to let P
>>> record doesn't record the memory and registers control behaviors of
>>> GDB in function record_store_registers and record_xfer_partial.
>>>
>>> So I think the name "record_not_record_set" and
>>> "record_skip_recording" are not very clear.
>>> Could you please give me some advices on it?
>> Yeah, that's pretty much the way I understood it.
>>
>> It sets a one-time flag that says "omit (skip) recording
>> registers and memory that would otherwise be recorded".
>>
>> And if I understand correctly, this is to avoid adding
>> changes to the record log that are made by gdb when it
>> resumes the target.  It's only called from "proceed()".
>>
>> I'm not completely clear on what those changes are.
>> Is gdb modifying the PC?  Or are you perhaps trying to
>> avoid recording breakpoints?
> 
> I think avoid recording breakpoints is the main affect.
> Another function is help deal with displaced step. Of course, P record
> and displaced step will not work together now.
> 
> I think I add "record_not_record" function is because I want
> record_store_registers and record_xfer_partial just record the user
> level change, not for others.
> What do you think about it?

OK, so if we ignore displaced stepping for now, then can we
limit the issue to breakpoints?

Breakpoint writes will all pass through functions called
memory_insert_breakpoint and memory_remove_breakpoint (mem-break.c).

So what we want to do is get the information from there into
record.c.  I guess you could do pretty much what you are doing
now, only call the access function from mem-break.c instead of
from infrun.  It would help to localize it and make its meaning
clear.

Maybe call it "dont_record_memory_breakpoint" or something like that.



More information about the Gdb-patches mailing list