Commit in reactos/ntoskrnl on MAIN
dbg/kdb.c+13-61.35 -> 1.36
ke/catch.c+11-41.55 -> 1.56
+24-10
2 modified files
Fix handling of breakpoint exceptions in KDB.

reactos/ntoskrnl/dbg
kdb.c 1.35 -> 1.36
diff -u -r1.35 -r1.36
--- kdb.c	18 Nov 2004 02:10:28 -0000	1.35
+++ kdb.c	18 Dec 2004 19:22:10 -0000	1.36
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: kdb.c,v 1.35 2004/11/18 02:10:28 arty Exp $
+/* $Id: kdb.c,v 1.36 2004/12/18 19:22:10 blight Exp $
  *
  * PROJECT:         ReactOS kernel
  * FILE:            ntoskrnl/dbg/kdb.c
@@ -1656,17 +1656,24 @@
   LONG BreakPointNr;
   ULONG ExpNr = (ULONG)TrapFrame->DebugArgMark;
 
-  DbgPrint( ":KDBG:Entered:%s:%s\n", 
-	    PreviousMode==KernelMode ? "kmode" : "umode",
-	    AlwaysHandle ? "always" : "if-unhandled" );
+  if (ExpNr != 1 && ExpNr != 3)
+    {
+      DbgPrint(":KDBG:Entered:%s:%s\n",
+               PreviousMode==KernelMode ? "kmode" : "umode",
+               AlwaysHandle ? "always" : "if-unhandled");
+    }
   
   /* If we aren't handling umode exceptions then return */
-  if( PreviousMode == UserMode && !KdbHandleUmode && !AlwaysHandle )
+  if (PreviousMode == UserMode && !KdbHandleUmode && !AlwaysHandle)
+    {
       return kdContinue;
+    }
 
   /* If the exception would be unhandled (and we care) then handle it */
-  if( PreviousMode == KernelMode && !KdbHandleHandled && !AlwaysHandle )
+  if (PreviousMode == KernelMode && !KdbHandleHandled && !AlwaysHandle)
+    {
       return kdContinue;
+    }
 
   /* Exception inside the debugger? Game over. */
   if (KdbEntryCount > 0)

reactos/ntoskrnl/ke
catch.c 1.55 -> 1.56
diff -u -r1.55 -r1.56
--- catch.c	20 Nov 2004 17:45:15 -0000	1.55
+++ catch.c	18 Dec 2004 19:22:10 -0000	1.56
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: catch.c,v 1.55 2004/11/20 17:45:15 arty Exp $
+/* $Id: catch.c,v 1.56 2004/12/18 19:22:10 blight Exp $
  *
  * PROJECT:              ReactOS kernel
  * FILE:                 ntoskrnl/ke/catch.c
@@ -77,7 +77,10 @@
       Action = KdEnterDebuggerException (ExceptionRecord, Context, Tf);
     }
 
-  if (Action == kdContinue) return;
+  if (Action == kdContinue)
+    {
+      return;
+    }
 
   if (Action != kdDoNotHandleException)
     {
@@ -167,8 +170,12 @@
 	      DPRINT("ExceptionRecord->ExceptionAddress = 0x%x\n",
 		     ExceptionRecord->ExceptionAddress );
 #ifdef KDBG
-	      KdbEnterDebuggerException (ExceptionRecord, PreviousMode, 
-					 Context, Tf, TRUE); 
+              Action = KdbEnterDebuggerException (ExceptionRecord, PreviousMode,
+                                                  Context, Tf, TRUE);
+              if (Action == kdContinue)
+                {
+                  return;
+                }
 #endif
 	      KEBUGCHECKWITHTF(KMODE_EXCEPTION_NOT_HANDLED, 0, 0, 0, 0, Tf);
 	    }
CVSspam 0.2.8