You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hardware breakpoints are lost on MSHV and WHP. Those backends store gdb hardware breakpoints in the guest's DR0-DR7 (mshv/x86_64.rs#L853, whp/x86_64.rs#L1181). reset_vcpu zeroes those registers (x86_64.rs#L327). gdb still lists the breakpoints. KVM keeps them in kvm_guest_debug, so they survive there.
Software breakpoints are written into snapshot memory. gdb builds make snapshot memory writable for this (build.rs#L162).
snapshot() captures the 0xCC bytes. After restore nothing tracks them.
restore() can remove a breakpoint that sw_breakpoints still lists. Removing it later writes the saved byte over whatever the restored snapshot holds at that address.
Possible fix: keep breakpoint state on the host and apply it again after restore(). Take software breakpoints out before snapshot().
Activity