This is the mail archive of the gdb-patches@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: [RFA] Resubmit process record and replay, 6/10


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.


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