From 9709983e45bcb2b8c8c5cb72d7deb3db737f359b Mon Sep 17 00:00:00 2001 From: Gregor Schneider Date: Wed, 9 Dec 2009 21:48:09 +0000 Subject: [PATCH] [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 svn path=/trunk/; revision=44495 --- reactos/dll/win32/kernel32/except/except.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/reactos/dll/win32/kernel32/except/except.c b/reactos/dll/win32/kernel32/except/except.c index e7a765c07ad..75e935679ee 100644 --- a/reactos/dll/win32/kernel32/except/except.c +++ b/reactos/dll/win32/kernel32/except/except.c @@ -205,7 +205,7 @@ BasepCheckForReadOnlyResource(IN PVOID Ptr) } /* - * @unimplemented + * @implemented */ LONG WINAPI UnhandledExceptionFilter(struct _EXCEPTION_POINTERS *ExceptionInfo) @@ -274,10 +274,12 @@ UnhandledExceptionFilter(struct _EXCEPTION_POINTERS *ExceptionInfo) { 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