Commit e514a4a4 authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

Really enter the debugger when DebugBreak(Process) is invoked on

debuggee.
parent 9c3059c3
...@@ -844,12 +844,20 @@ BOOL DEBUG_ShouldContinue( DBG_ADDR *addr, DWORD code, int * count ) ...@@ -844,12 +844,20 @@ BOOL DEBUG_ShouldContinue( DBG_ADDR *addr, DWORD code, int * count )
} }
#ifdef __i386__ #ifdef __i386__
/* If there's no breakpoint and we are not single-stepping, then we */ /* If there's no breakpoint and we are not single-stepping, then
/* must have encountered an int3 in the Windows program; let's skip it. */ * either we must have encountered an int3 in the Windows program
* or someone is trying to stop us
* If the later, (no int3 opcode at current address) then stop,
* otherwise, let's skip it.
*/
if ((bpnum == -1) && code == EXCEPTION_BREAKPOINT) if ((bpnum == -1) && code == EXCEPTION_BREAKPOINT)
{ {
unsigned char c;
if (!DEBUG_READ_MEM(&addr, &c, 1)) c = 0xCC;
DEBUG_context.Eip++; DEBUG_context.Eip++;
addr->off++; addr->off++;
if (c != 0xCC) return FALSE;
} }
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment