So, I'm writing my own debugger for Conquer in VB6. It works perfectly with Windows Vista Home Edition SP1, however it fails on my Windows XP SP3 computer, everytime it hits a breakpoint, it continues in an infinite loop at the instruction, even though I set the set Resume Flag to 1 which should prevent this from happening.
My Vista computer has an Intel Core 2 Duo T8300 processor, while my XP computer has an AMD Athlon 64 X2 6000+ processor.
Does anyone know what could be wrong?
My Vista computer has an Intel Core 2 Duo T8300 processor, while my XP computer has an AMD Athlon 64 X2 6000+ processor.
Does anyone know what could be wrong?
Code:
If ExceptionCode = EXCEPTION_SINGLE_STEP Then ContinueStatus = DBG_CONTINUE Debug.Print "Single step exception occured" SuspendThread (ThreadHandle) ExceptionHandler ThreadHandle, ExceptionAddress End If ContinueDebugEvent DebugEvent.dwProcessId, DebugEvent.dwThreadId, ContinueStatus ResumeThread (ThreadHandle) CloseHandle (ThreadHandle)
Code:
Public Sub ExceptionHandler(hThread As Long, ExceptionAddress As Long) Dim cThread As CONTEXT cThread.ContextFlags = CONTEXT_FULL GetThreadContext hThread, cThread cThread.EFlags = cThread.EFlags Or EFLAG_RF SetThreadContext hThread, cThread