fixes an issue where you cannot step over int3 instructions even with Skip INT3 Stepping enabled

This commit is contained in:
Colin Senner 2026-07-12 23:49:58 -07:00
parent ec7a8b9352
commit 363a961c8c
1 changed files with 4 additions and 1 deletions

View File

@ -600,7 +600,10 @@ __declspec(dllexport) void TITCALL DebugLoop()
{ {
ULONG_PTR exceptionAddress = (ULONG_PTR)DBGEvent.u.Exception.ExceptionRecord.ExceptionAddress; ULONG_PTR exceptionAddress = (ULONG_PTR)DBGEvent.u.Exception.ExceptionRecord.ExceptionAddress;
if(recentlyDeletedBpx.find(exceptionAddress) != recentlyDeletedBpx.end()) unsigned char currentByte = 0xCC;
MemoryReadSafe(dbgProcessInformation.hProcess, (void*)exceptionAddress, &currentByte, 1, nullptr);
if(currentByte != 0xCC && recentlyDeletedBpx.find(exceptionAddress) != recentlyDeletedBpx.end())
{ {
//breakpoint was recently deleted - handle the stale event gracefully //breakpoint was recently deleted - handle the stale event gracefully
hActiveThread = EngineOpenThread(THREAD_GETSETSUSPEND, false, DBGEvent.dwThreadId); hActiveThread = EngineOpenThread(THREAD_GETSETSUSPEND, false, DBGEvent.dwThreadId);