From dcb01c6abe99ceb5a92e83170e25598cb9d30d99 Mon Sep 17 00:00:00 2001 From: AzuLX Date: Sun, 4 Jan 2026 22:24:54 +0000 Subject: [PATCH] prevent thread suspension when HWBP is disabled during callback --- GleeBug/Debugger.Loop.Exception.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/GleeBug/Debugger.Loop.Exception.cpp b/GleeBug/Debugger.Loop.Exception.cpp index 35ef6e7..dddd59e 100644 --- a/GleeBug/Debugger.Loop.Exception.cpp +++ b/GleeBug/Debugger.Loop.Exception.cpp @@ -141,6 +141,10 @@ namespace GleeBug if(foundCallback != mProcess->breakpointCallbacks.end()) foundCallback->second(info); + //if the breakpoint was deleted during callback, clear internal stepping to prevent thread suspension + if(mProcess->breakpoints.find({ BreakpointType::Hardware, info.address }) == mProcess->breakpoints.end()) + mThread->isInternalStepping = false; + //delete the breakpoint if it is singleshoot if(info.singleshoot) mProcess->DeleteGenericBreakpoint(info);