From b58c3d73ca71f0b9c38e1006ac40cf588cd560a7 Mon Sep 17 00:00:00 2001 From: Mark Jansen Date: Sat, 22 May 2021 16:33:19 +0200 Subject: [PATCH] [RTL][KERNEL32] Move the STUB printing code to a place where it's actually called --- dll/win32/kernel32/client/except.c | 18 +++++++----------- sdk/lib/rtl/exception.c | 7 +++++++ 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/dll/win32/kernel32/client/except.c b/dll/win32/kernel32/client/except.c index 36fab314f49..38ac16fb8c3 100644 --- a/dll/win32/kernel32/client/except.c +++ b/dll/win32/kernel32/client/except.c @@ -107,6 +107,13 @@ PrintStackTrace(IN PEXCEPTION_POINTERS ExceptionInfo) DbgPrint("Faulting Address: %8x\n", ExceptionRecord->ExceptionInformation[1]); } + /* Trace the wine special error and show the modulename and functionname */ + if (ExceptionRecord->ExceptionCode == 0x80000100 /* EXCEPTION_WINE_STUB */ && + ExceptionRecord->NumberParameters == 2) + { + DbgPrint("Missing function: %s!%s\n", (PSZ)ExceptionRecord->ExceptionInformation[0], (PSZ)ExceptionRecord->ExceptionInformation[1]); + } + _dump_context(ContextRecord); _module_name_from_addr(ExceptionRecord->ExceptionAddress, &StartAddr, szMod, sizeof(szMod), &szModFile); DbgPrint("Address:\n<%s:%x> (%s@%x)\n", @@ -730,17 +737,6 @@ RaiseException(IN DWORD dwExceptionCode, DPRINT1("Exception text: %lx\n", ExceptionRecord.ExceptionInformation[2]); } - /* Trace the wine special error and show the modulename and functionname */ - if (dwExceptionCode == 0x80000100 /* EXCEPTION_WINE_STUB */) - { - /* Numbers of parameter must be equal to two */ - if (ExceptionRecord.NumberParameters == 2) - { - DPRINT1("Missing function in : %s\n", ExceptionRecord.ExceptionInformation[0]); - DPRINT1("with the functionname : %s\n", ExceptionRecord.ExceptionInformation[1]); - } - } - /* Raise the exception */ RtlRaiseException(&ExceptionRecord); } diff --git a/sdk/lib/rtl/exception.c b/sdk/lib/rtl/exception.c index 0abbcc53055..e90b28fac46 100644 --- a/sdk/lib/rtl/exception.c +++ b/sdk/lib/rtl/exception.c @@ -251,6 +251,13 @@ static VOID DbgPrint("Faulting Address: %8x\n", ExceptionRecord->ExceptionInformation[1]); } + /* Trace the wine special error and show the modulename and functionname */ + if (ExceptionRecord->ExceptionCode == 0x80000100 /* EXCEPTION_WINE_STUB */ && + ExceptionRecord->NumberParameters == 2) + { + DbgPrint("Missing function: %s!%s\n", (PSZ)ExceptionRecord->ExceptionInformation[0], (PSZ)ExceptionRecord->ExceptionInformation[1]); + } + _dump_context(ContextRecord); _module_name_from_addr(ExceptionRecord->ExceptionAddress, &StartAddr, szMod, sizeof(szMod)); DbgPrint("Address:\n %8x+%-8x %s\n",