prevent thread suspension when HWBP is disabled during callback

This commit is contained in:
AzuLX 2026-01-04 22:24:54 +00:00
parent 1eb094e7aa
commit dcb01c6abe
No known key found for this signature in database
GPG Key ID: BED7E7DC23A637BC
1 changed files with 4 additions and 0 deletions

View File

@ -141,6 +141,10 @@ namespace GleeBug
if(foundCallback != mProcess->breakpointCallbacks.end()) if(foundCallback != mProcess->breakpointCallbacks.end())
foundCallback->second(info); 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 //delete the breakpoint if it is singleshoot
if(info.singleshoot) if(info.singleshoot)
mProcess->DeleteGenericBreakpoint(info); mProcess->DeleteGenericBreakpoint(info);