[ros-diffs] [gschneider] 44495: [kernel32] UnhandledExceptionFilter: - Print the exception address in the same style the stack frames are printed: module start offset and address separated - Print CPU registers before starting over with trace addresses

gschneider at svn.reactos.org gschneider at svn.reactos.org
Thu Dec 10 21:21:44 CET 2009


Author: gschneider
Date: Wed Dec  9 22:48:09 2009
New Revision: 44495

URL: http://svn.reactos.org/svn/reactos?rev=44495&view=rev
Log:
[kernel32] UnhandledExceptionFilter:
- Print the exception address in the same style the stack frames are printed: module start offset and address separated
- Print CPU registers before starting over with trace addresses

Modified:
    trunk/reactos/dll/win32/kernel32/except/except.c

Modified: trunk/reactos/dll/win32/kernel32/except/except.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/except/except.c?rev=44495&r1=44494&r2=44495&view=diff
==============================================================================
--- trunk/reactos/dll/win32/kernel32/except/except.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/except/except.c [iso-8859-1] Wed Dec  9 22:48:09 2009
@@ -205,7 +205,7 @@
 }
 
 /*
- * @unimplemented
+ * @implemented
  */
 LONG WINAPI
 UnhandledExceptionFilter(struct _EXCEPTION_POINTERS *ExceptionInfo)
@@ -274,10 +274,12 @@
       {
          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 );
+      _module_name_from_addr(ExceptionInfo->ExceptionRecord->ExceptionAddress, &StartAddr, szMod, sizeof(szMod));
+      DbgPrint("Address:\n   %8x+%-8x   %s\n", 
+               (PVOID)StartAddr, (ULONG_PTR)ExceptionInfo->ExceptionRecord->ExceptionAddress - 
+               (ULONG_PTR)StartAddr, szMod);
+
 #ifdef _X86_
       DbgPrint("Frames:\n");
       _SEH2_TRY




More information about the Ros-diffs mailing list