winedbg/gdbproxy: Replace memory read over a breakpoint with the real value.
commiteb63a5f3c3c1851f212bd14f91da329bf3166e42
authorZebediah Figura <z.figura12@gmail.com>
Mon, 15 Jan 2018 01:01:15 +0000 (14 19:01 -0600)
committerAlexandre Julliard <julliard@winehq.org>
Fri, 19 Jan 2018 11:12:02 +0000 (19 12:12 +0100)
tree6d705d24b196dc64d467f76ef52d09aa2684ac5f
parentd1e9694edabe6ef803f1b98de288982e5d03ab29
winedbg/gdbproxy: Replace memory read over a breakpoint with the real value.

Normally, when we hit a breakpoint, we remove it before stopping and add it
after continuing. gdb, however, reads the process memory before requesting
that the breakpoint be removed, and apparently caches it until the `stepi`
instruction is executed; as a result, it thinks that the interrupt byte that
is present in the code is an actual interrupt and not a breakpoint, and so
tries to step over it as one byte instead of executing the real instruction
at that location.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
programs/winedbg/gdbproxy.c