Print more informations on a BSOD by enabling the debug prints to the
screen.
Modified: trunk/reactos/ntoskrnl/ke/bug.c
_____
Modified: trunk/reactos/ntoskrnl/ke/bug.c
--- trunk/reactos/ntoskrnl/ke/bug.c 2005-06-12 15:33:34 UTC (rev
15876)
+++ trunk/reactos/ntoskrnl/ke/bug.c 2005-06-12 16:20:10 UTC (rev
15877)
@@ -299,11 +299,17 @@
PLIST_ENTRY CurrentEntry;
MODULE_TEXT_SECTION* CurrentSection = NULL;
extern LIST_ENTRY ModuleTextListHead;
+#if 0
CHAR PrintString[100];
-
+#endif
/* Make sure we're switching back to the blue screen and print
messages on it */
HalReleaseDisplayOwnership();
- KdpDebugMode.Screen = TRUE;
+ if (!KdpDebugMode.Screen)
+ {
+ /* Enable screen debug mode */
+ KdpDebugMode.Screen = TRUE;
+ InitRoutines[0](&DispatchTable[0], 0);
+ }
/* Try to find out who did this. For this, we need a Trap Frame.
* Note: Some special BSODs pass the Frame/EIP as a Param. MSDN has
the
@@ -348,22 +354,32 @@
/* FIXMEs: Use inbv to clear, fill and write to screen. */
/* Show the STOP Message */
+#if 0
InbvDisplayString("A problem has been detected and ReactOS has been
shut down to prevent "
"damage to your computer.\n\n");
-
+#else
+ DbgPrint("A problem has been detected and ReactOS has been shut
down to prevent "
+ "damage to your computer.\n\n");
+#endif
/* Show the module name of who caused this */
if (GotExtendedCrashInfo)
{
+#if 0
sprintf(PrintString,
"The problem seems to be caused by the following file:
%S\n\n",
CurrentSection->Name);
InbvDisplayString(PrintString);
+#else
+ DbgPrint("The problem seems to be caused by the following file:
%S\n\n",
+ CurrentSection->Name);
+#endif
}
/* Find the Bug Code String */
KeGetBugMessageText(BugCheckCode, NULL);
/* Show the techincal Data */
+#if 0
sprintf(PrintString,
"Technical information:\n\n*** STOP: 0x%08lX
(0x%p,0x%p,0x%p,0x%p)\n\n",
BugCheckCode,
@@ -372,10 +388,18 @@
(PVOID)BugCheckParameter3,
(PVOID)BugCheckParameter4);
InbvDisplayString(PrintString);
-
+#else
+ DbgPrint("Technical information:\n\n*** STOP: 0x%08lX
(0x%p,0x%p,0x%p,0x%p)\n\n",
+ BugCheckCode,
+ (PVOID)BugCheckParameter1,
+ (PVOID)BugCheckParameter2,
+ (PVOID)BugCheckParameter3,
+ (PVOID)BugCheckParameter4);
+#endif
/* Show the module name and more data of who caused this */
if (GotExtendedCrashInfo)
{
+#if 0
sprintf(PrintString,
"*** %S - Address 0x%p base at 0x%p, DateStamp
0x%x\n\n",
CurrentSection->Name,
@@ -383,6 +407,13 @@
(PVOID)CurrentSection->Base,
0);
InbvDisplayString(PrintString);
+#else
+ DbgPrint("*** %S - Address 0x%p base at 0x%p, DateStamp
0x%x\n\n",
+ CurrentSection->Name,
+ Address,
+ (PVOID)CurrentSection->Base,
+ 0);
+#endif
}
/* There can only be one Bugcheck per Bootup */
Document well-known targets
Modified: trunk/reactos/Makefile
_____
Modified: trunk/reactos/Makefile
--- trunk/reactos/Makefile 2005-06-12 10:33:22 UTC (rev 15871)
+++ trunk/reactos/Makefile 2005-06-12 10:52:18 UTC (rev 15872)
@@ -1,3 +1,52 @@
+# Well-known targets:
+#
+# all (default target)
+# This target builds all of ReactOS.
+#
+# module
+# These targets builds a single module. Replace module with the
name of
+# the module you want to build.
+#
+# bootcd
+# This target builds an ISO (ReactOS.iso) from which ReactOS can
be booted
+# and installed.
+#
+# livecd
+# This target builds an ISO (ReactOS-Live.iso) from which
ReactOS can be
+# booted, but not installed.
+#
+# install
+# This target installs all of ReactOS to a location specified by
the
+# ROS_INSTALL environment variable.
+#
+# module_install
+# These targets installs a single module to a location specified
by the
+# ROS_INSTALL environment variable. Replace module with the name
of the
+# module you want to install.
+#
+# clean
+# This target cleans (deletes) all files that are generated when
building
+# ReactOS.
+#
+# module_clean
+# These targets cleans (deletes) files that are generated when
building a
+# single module. Replace module with the name of the module you
want to
+# clean.
+#
+# depends
+# This target does a complete dependency check of the ReactOS
codebase.
+# This can require several minutes to complete. If you only need
to check
+# dependencies for a single or few modules then you can use the
+# module_depends targets instead. This target can also repair a
damaged or
+# missing makefile.auto if needed.
+#
+# module_depends
+# These targets do a dependency check of individual modules.
Replace module
+# with the name of the module for which you want to check
dependencies.
+# This is faster than the depends target which does a complete
dependency
+# check of the ReactOS codebase.
+#
+#
# Accepted environment variables:
#
# ROS_PREFIX
Preinitialize the Provider to prevent from crashing if no sockets were
given.
Modified: trunk/reactos/lib/ws2_32/misc/dllmain.c
_____
Modified: trunk/reactos/lib/ws2_32/misc/dllmain.c
--- trunk/reactos/lib/ws2_32/misc/dllmain.c 2005-06-12 10:25:49 UTC
(rev 15870)
+++ trunk/reactos/lib/ws2_32/misc/dllmain.c 2005-06-12 10:33:22 UTC
(rev 15871)
@@ -339,7 +339,7 @@
* Number of ready socket descriptors, or SOCKET_ERROR if an error
ocurred
*/
{
- PCATALOG_ENTRY Provider;
+ PCATALOG_ENTRY Provider = NULL;
INT Count;
INT Errno;