Merge pull request #74 from 3rdit/fix/hwbp-thread-suspension

Fix thread suspension when hardware breakpoint is disabled during callback
This commit is contained in:
Duncan Ogilvie 2026-01-04 23:42:19 +01:00 committed by GitHub
commit a91b44d7e8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 4 additions and 0 deletions

View File

@ -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);