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/…
==============================================================================
--- 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