--- a/infrun.c +++ b/infrun.c @@ -50,6 +50,8 @@ #include "mi/mi-common.h" #include "event-top.h" +#include "record.h" + /* Prototypes for local functions */ static void signals_info (char *, int); @@ -602,7 +604,8 @@ use_displaced_stepping (struct gdbarch * return (((can_use_displaced_stepping == can_use_displaced_stepping_auto && non_stop) || can_use_displaced_stepping == can_use_displaced_stepping_on) - && gdbarch_displaced_step_copy_insn_p (gdbarch)); + && gdbarch_displaced_step_copy_insn_p (gdbarch) + && !RECORD_IS_USED); } /* Clean out any stray displaced stepping state. */ @@ -1270,6 +1273,12 @@ proceed (CORE_ADDR addr, enum target_sig if (step < 0) stop_after_trap = 1; + /* When GDB resume the inferior, process record target doesn't need to + record the memory and register store operation of GDB. So set + record_not_record to 1. */ + if (RECORD_IS_USED) + record_not_record_set (); + if (addr == (CORE_ADDR) -1) { if (pc == stop_pc && breakpoint_here_p (pc)