Now relying on exception codes to know when debugger is entered for a
single step trap.

diff --git a/debugger/break.c b/debugger/break.c
index db80414..d5fa643 100644
--- a/debugger/break.c
+++ b/debugger/break.c
@@ -321,7 +321,7 @@
  * Determine if we should continue execution after a SIGTRAP signal when
  * executing in the given mode.
  */
-BOOL DEBUG_ShouldContinue( enum exec_mode mode, int * count )
+BOOL DEBUG_ShouldContinue( DWORD code, enum exec_mode mode, int * count )
 {
     DBG_ADDR addr;
     DBG_ADDR cond_addr;
@@ -330,7 +330,7 @@
 
 #ifdef __i386__
     /* If not single-stepping, back up over the int3 instruction */
-    if (!(DEBUG_context.EFlags & STEP_FLAG)) 
+    if (code == EXCEPTION_BREAKPOINT) 
        DEBUG_context.Eip--;
 #endif
 
@@ -427,7 +427,7 @@
 #ifdef __i386__
     /* If there's no breakpoint and we are not single-stepping, then we     */
     /* must have encountered an int3 in the Windows program; let's skip it. */
-    if ((bpnum == -1) && !(DEBUG_context.EFlags & STEP_FLAG))
+    if ((bpnum == -1) && code == EXCEPTION_BREAKPOINT)
         DEBUG_context.Eip++;
 #endif