}
/* Print it out */
- if (!KiRosPrintAddress((PVOID)Addr)) DbgPrint("<%X>", Addr);
+ if (!KeRosPrintAddress((PVOID)Addr)) DbgPrint("<%X>", Addr);
/* Go to the next frame */
DbgPrint("\n");
}
/* Check if we need to save the context for KD */
- if (!KdPitchDebugger) KdDebuggerDataBlock.SavedContext = (ULONG)&Context;
/* Check if a debugger is connected */
if ((BugCheckCode != MANUALLY_INITIATED_CRASH) && (KdDebuggerEnabled))
/* Break in the debugger */
KiBugCheckDebugBreak(DBG_STATUS_BUGCHECK_FIRST);
}
+ else
+ {
+ /*
+ * ROS HACK.
+ * Ok, so debugging is enabled, but KDBG isn't there.
+ * We'll manually dump the stack for the user.
+ */
+ KeRosDumpStackFrames(NULL, 0);
+ }
}
/* Raise IRQL to HIGH_LEVEL */
AnsiName);
/* Check if the debugger is disabled but we can enable it */
- if (!(KdDebuggerEnabled) && !(KdPitchDebugger))
+ //if (!(KdDebuggerEnabled) && !(KdPitchDebugger))
{
/* Enable it */
- KdEnableDebuggerWithLock(FALSE);
+ //KdEnableDebuggerWithLock(FALSE);
}
- else
+ //else
{
/* Otherwise, print the last line */
InbvDisplayString("\r\n");