We use the breakRewind variable to track how many instruction bytes we need to rewind when a breakpoint is hit (so that the program is stopped at the break point instruction, and not after it). We do it for UDF.N and UDF.N, but not for BKPT.
GDB sometimes uses BKPT for breakpoints, so not rewinding correctly confuses GDB.
We use the
breakRewind
variable to track how many instruction bytes we need to rewind when a breakpoint is hit (so that the program is stopped at the break point instruction, and not after it). We do it forUDF.N
andUDF.N
, but not forBKPT
.GDB sometimes uses
BKPT
for breakpoints, so not rewinding correctly confuses GDB.