diff --git a/TitanEngine/TitanEngine.Debugger.Control.cpp b/TitanEngine/TitanEngine.Debugger.Control.cpp index 07e0305..c1f045e 100644 --- a/TitanEngine/TitanEngine.Debugger.Control.cpp +++ b/TitanEngine/TitanEngine.Debugger.Control.cpp @@ -52,7 +52,7 @@ __declspec(dllexport) void TITCALL StepInto(LPVOID StepCallBack) { CONTEXT myDBGContext; HANDLE hActiveThread = EngineOpenThread(THREAD_GETSETSUSPEND, false, DBGEvent.dwThreadId); - myDBGContext.ContextFlags = CONTEXT_CONTROL; + myDBGContext.ContextFlags = CONTEXT_ALL; GetThreadContext(hActiveThread, &myDBGContext); myDBGContext.EFlags |= UE_TRAP_FLAG; SetThreadContext(hActiveThread, &myDBGContext); diff --git a/TitanEngine/TitanEngine.Debugger.DebugLoop.cpp b/TitanEngine/TitanEngine.Debugger.DebugLoop.cpp index 8b0864c..8ad86e9 100644 --- a/TitanEngine/TitanEngine.Debugger.DebugLoop.cpp +++ b/TitanEngine/TitanEngine.Debugger.DebugLoop.cpp @@ -473,7 +473,7 @@ __declspec(dllexport) void TITCALL DebugLoop() FlushInstructionCache(dbgProcessInformation.hProcess, NULL, 0); DBGCode = DBG_CONTINUE; hActiveThread = EngineOpenThread(THREAD_GETSETSUSPEND, false, DBGEvent.dwThreadId); - myDBGContext.ContextFlags = CONTEXT_CONTROL; + myDBGContext.ContextFlags = CONTEXT_ALL; GetThreadContext(hActiveThread, &myDBGContext); if(FoundBreakPoint.BreakPointType != UE_SINGLESHOOT) myDBGContext.EFlags |= UE_TRAP_FLAG; @@ -598,7 +598,7 @@ __declspec(dllexport) void TITCALL DebugLoop() else { hActiveThread = EngineOpenThread(THREAD_GETSETSUSPEND, false, DBGEvent.dwThreadId); - myDBGContext.ContextFlags = CONTEXT_CONTROL; + myDBGContext.ContextFlags = CONTEXT_ALL; GetThreadContext(hActiveThread, &myDBGContext); myDBGContext.EFlags |= UE_TRAP_FLAG; SetThreadContext(hActiveThread, &myDBGContext); @@ -651,7 +651,7 @@ __declspec(dllexport) void TITCALL DebugLoop() { //handle hardware breakpoints hActiveThread = EngineOpenThread(THREAD_GETSETSUSPEND, false, DBGEvent.dwThreadId); - myDBGContext.ContextFlags = CONTEXT_DEBUG_REGISTERS | CONTEXT_CONTROL; + myDBGContext.ContextFlags = CONTEXT_DEBUG_REGISTERS | CONTEXT_ALL; GetThreadContext(hActiveThread, &myDBGContext); if((ULONG_PTR)DBGEvent.u.Exception.ExceptionRecord.ExceptionAddress == myDBGContext.Dr0 || (myDBGContext.Dr6 & 0x1)) { @@ -831,7 +831,7 @@ __declspec(dllexport) void TITCALL DebugLoop() if(bFoundBreakPoint) //found memory breakpoint { hActiveThread = EngineOpenThread(THREAD_GETSETSUSPEND, false, DBGEvent.dwThreadId); - myDBGContext.ContextFlags = CONTEXT_CONTROL; + myDBGContext.ContextFlags = CONTEXT_ALL; GetThreadContext(hActiveThread, &myDBGContext); DBGCode = DBG_CONTINUE; //debugger handled the exception MemoryBpxCallBack = FoundBreakPoint.ExecuteCallBack; @@ -1005,7 +1005,7 @@ __declspec(dllexport) void TITCALL DebugLoop() FlushInstructionCache(dbgProcessInformation.hProcess, NULL, 0); DBGCode = DBG_CONTINUE; hActiveThread = EngineOpenThread(THREAD_GETSETSUSPEND, false, DBGEvent.dwThreadId); - myDBGContext.ContextFlags = CONTEXT_CONTROL; + myDBGContext.ContextFlags = CONTEXT_ALL; GetThreadContext(hActiveThread, &myDBGContext); if(FoundBreakPoint.BreakPointType != UE_SINGLESHOOT) myDBGContext.EFlags |= UE_TRAP_FLAG; diff --git a/TitanEngine/TitanEngine.Debugger.cpp b/TitanEngine/TitanEngine.Debugger.cpp index db151cd..db4f08f 100644 --- a/TitanEngine/TitanEngine.Debugger.cpp +++ b/TitanEngine/TitanEngine.Debugger.cpp @@ -545,7 +545,7 @@ __declspec(dllexport) bool TITCALL DetachDebuggerEx(DWORD ProcessId) { HANDLE hActiveThread = EngineOpenThread(THREAD_GETSETSUSPEND, false, hListThread.at(i).dwThreadId); CONTEXT myDBGContext; - myDBGContext.ContextFlags = CONTEXT_CONTROL; + myDBGContext.ContextFlags = CONTEXT_ALL; GetThreadContext(hActiveThread, &myDBGContext); myDBGContext.EFlags &= ~UE_TRAP_FLAG; myDBGContext.EFlags &= ~UE_RESUME_FLAG;