Re: [RFA] Displaced stepping just enable in non-stop mode

Michael Snyder
2008-10-17T17:33:59Z

Pedro Alves wrote:
> On Thursday 16 October 2008 22:15:30, Michael Snyder wrote:
>> What it looks like is that you try to write to memory
>> that's write-protected.
>>
>> This is because most replay targets will treat all of memory
>> as write-protected when they are in replay mode.
>>
>> Where this usually manifests is, you'll say "continue"
>> (probably for the first time since attaching to the target),
>> and it'll croak because it's trying to step over some
>> "invisible" breakpoint such as the one that handles
>> shared libraries.
>
> I see, then this means that all the reverse targets in existance
> implement inserting breakpoints (target_insert_breakpoint, Z packet),
> instead of relying on memory breakpoints.

I believe that's true. Certainly it's true for gdb-freeplay.

Teawater's "process replay" isn't a remote target, so it does
not use Z packet explicitly, but it does something similar --
in effect, it mimics the Z0 semantics.

VMware's development version uses Z0.

> Ah, the record target
> just ignores breakpoint insertions, and relies on forcing single-stepping
> and checking breakpoint hits itself.

That's right.