Do not assume that a debugger is present only because we are debugging to a file or to the screen. This corrects bugchecks not to launch an INT3 where no debugger is actually there to catch it.
Modified: trunk/reactos/ntoskrnl/kd/kdebug.c

Modified: trunk/reactos/ntoskrnl/kd/kdebug.c
--- trunk/reactos/ntoskrnl/kd/kdebug.c	2005-03-14 02:08:17 UTC (rev 14045)
+++ trunk/reactos/ntoskrnl/kd/kdebug.c	2005-03-14 04:51:51 UTC (rev 14046)
@@ -118,7 +118,7 @@
 	      if (!_strnicmp(p2, "SCREEN", 6) && BootPhase > 0)
 		{
 		  p2 += 6;
-		  KdDebuggerEnabled = TRUE;
+		  KdDebuggerEnabled = FALSE;
 		  KdDebugState |= KD_DEBUG_SCREEN;
 		}
 	      else if (!_strnicmp(p2, "BOCHS", 5) && BootPhase == 0)
@@ -150,7 +150,7 @@
 		  Value = (ULONG)atol(p2);
 		  if (Value > 0 && Value < 5)
 		    {
-		      KdDebuggerEnabled = TRUE;
+		      KdDebuggerEnabled = FALSE;
 		      KdDebugState |= KD_DEBUG_SERIAL;
 		      LogPortInfo.ComPort = Value;
 		    }
@@ -158,7 +158,7 @@
 	      else if (!_strnicmp(p2, "FILE", 4) && BootPhase > 0)
 		{
 		  p2 += 4;
-		  KdDebuggerEnabled = TRUE;
+		  KdDebuggerEnabled = FALSE;
 		  KdDebugState |= KD_DEBUG_FILELOG;
 		}
 	      else if (!_strnicmp(p2, "MDA", 3) && BootPhase > 0)
@@ -247,8 +247,6 @@
     }
 
   /* Perform any initialization nescessary */
-  if (KdDebuggerEnabled == TRUE)
-    {
       if (KdDebugState & KD_DEBUG_GDB && BootPhase == 0)
 	    KdPortInitializeEx(&GdbPortInfo, 0, 0);
 
@@ -260,7 +258,6 @@
 
       if (KdDebugState & KD_DEBUG_MDA && BootPhase > 0)
 	    KdInitializeMda();
-    }
 }
 
 
@@ -292,8 +289,6 @@
 KdInit3(VOID)
 {
   /* Print some information */
-  if (KdDebuggerEnabled == TRUE)
-    {
       if (KdDebugState & KD_DEBUG_GDB)
 	    PrintString("\n   GDB debugging enabled. COM%ld %ld Baud\n\n",
 			GdbPortInfo.ComPort, GdbPortInfo.BaudRate);
@@ -315,7 +310,6 @@
 	    PrintString("\n   File log debugging enabled\n\n");
       if (KdDebugState & KD_DEBUG_MDA)
 	    PrintString("\n   MDA debugging enabled\n\n");
-    }
 }
 
 
@@ -449,7 +443,7 @@
   /* B - Bug check the system. */
   else if (Code == 1)
     {
-      KEBUGCHECK(0xDEADDEAD);
+      KEBUGCHECK(MANUALLY_INITIATED_CRASH);
     }
   /* 
    * C -  Dump statistics about the distribution of tagged blocks in