Print the exception code and the faulting address, if the address is available.
authorHartmut Birr <osexpert@googlemail.com>
Tue, 30 Aug 2005 16:28:36 +0000 (16:28 +0000)
committerHartmut Birr <osexpert@googlemail.com>
Tue, 30 Aug 2005 16:28:36 +0000 (16:28 +0000)
svn path=/trunk/; revision=17598

reactos/lib/kernel32/except/except.c

index 00a7ef2..505a71b 100644 (file)
@@ -164,8 +164,13 @@ UnhandledExceptionFilter(struct _EXCEPTION_POINTERS *ExceptionInfo)
 
       /* Print a stack trace. */
       DbgPrint("Unhandled exception\n");
-      DbgPrint("Address:\n");
-      DbgPrint("   %8x   %s\n",
+      DbgPrint("ExceptionCode:    %8x\n", ExceptionInfo->ExceptionRecord->ExceptionCode);
+      if (ExceptionInfo->ExceptionRecord->ExceptionCode == STATUS_ACCESS_VIOLATION &&
+          ExceptionInfo->ExceptionRecord->NumberParameters == 2)
+      {
+         DbgPrint("Faulting Address: %8x\n", ExceptionInfo->ExceptionRecord->ExceptionInformation[1]);
+      }
+      DbgPrint("Address:          %8x   %s\n",
          ExceptionInfo->ExceptionRecord->ExceptionAddress,
          _module_name_from_addr(ExceptionInfo->ExceptionRecord->ExceptionAddress, &StartAddr, szMod, sizeof(szMod)));
       _dump_context ( ExceptionInfo->ContextRecord );