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
Show replies by date