[PATCH 2/3] ntdll: Print a warning for debug print exceptions.
Rémi Bernon
rbernon at codeweavers.com
Fri Feb 5 03:21:29 CST 2021
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
dlls/ntdll/signal_arm.c | 8 ++++++++
dlls/ntdll/signal_arm64.c | 8 ++++++++
dlls/ntdll/signal_i386.c | 8 ++++++++
dlls/ntdll/signal_x86_64.c | 8 ++++++++
4 files changed, 32 insertions(+)
diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c
index f4da2e5c71d..1b98dd5cc70 100644
--- a/dlls/ntdll/signal_arm.c
+++ b/dlls/ntdll/signal_arm.c
@@ -164,6 +164,14 @@ NTSTATUS WINAPI KiUserExceptionDispatcher( EXCEPTION_RECORD *rec, CONTEXT *conte
{
WARN( "Thread %04x renamed to %s\n", (DWORD)rec->ExceptionInformation[2], debugstr_a((char *)rec->ExceptionInformation[1]) );
}
+ else if (rec->ExceptionCode == DBG_PRINTEXCEPTION_C)
+ {
+ WARN( "%s\n", debugstr_an((char *)rec->ExceptionInformation[1], rec->ExceptionInformation[0] - 1) );
+ }
+ else if (rec->ExceptionCode == DBG_PRINTEXCEPTION_WIDE_C)
+ {
+ WARN( "%s\n", debugstr_wn((WCHAR *)rec->ExceptionInformation[1], rec->ExceptionInformation[0] - 1) );
+ }
else
{
TRACE( " r0=%08x r1=%08x r2=%08x r3=%08x r4=%08x r5=%08x\n",
diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c
index 88e31d88f7b..078fa947c42 100644
--- a/dlls/ntdll/signal_arm64.c
+++ b/dlls/ntdll/signal_arm64.c
@@ -505,6 +505,14 @@ NTSTATUS WINAPI KiUserExceptionDispatcher( EXCEPTION_RECORD *rec, CONTEXT *conte
{
WARN( "Thread %04x renamed to %s\n", (DWORD)rec->ExceptionInformation[2], debugstr_a((char *)rec->ExceptionInformation[1]) );
}
+ else if (rec->ExceptionCode == DBG_PRINTEXCEPTION_C)
+ {
+ WARN( "%s\n", debugstr_an((char *)rec->ExceptionInformation[1], rec->ExceptionInformation[0] - 1) );
+ }
+ else if (rec->ExceptionCode == DBG_PRINTEXCEPTION_WIDE_C)
+ {
+ WARN( "%s\n", debugstr_wn((WCHAR *)rec->ExceptionInformation[1], rec->ExceptionInformation[0] - 1) );
+ }
else
{
TRACE(" x0=%016lx x1=%016lx x2=%016lx x3=%016lx\n",
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index a570be10024..6ec696931e9 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -196,6 +196,14 @@ NTSTATUS WINAPI dispatch_exception( EXCEPTION_RECORD *rec, CONTEXT *context )
{
WARN( "Thread %04x renamed to %s\n", (DWORD)rec->ExceptionInformation[2], debugstr_a((char *)rec->ExceptionInformation[1]) );
}
+ else if (rec->ExceptionCode == DBG_PRINTEXCEPTION_C)
+ {
+ WARN( "%s\n", debugstr_an((char *)rec->ExceptionInformation[1], rec->ExceptionInformation[0] - 1) );
+ }
+ else if (rec->ExceptionCode == DBG_PRINTEXCEPTION_WIDE_C)
+ {
+ WARN( "%s\n", debugstr_wn((WCHAR *)rec->ExceptionInformation[1], rec->ExceptionInformation[0] - 1) );
+ }
else
{
TRACE(" eax=%08x ebx=%08x ecx=%08x edx=%08x esi=%08x edi=%08x\n",
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
index 7a3fd4be204..df133d6fce9 100644
--- a/dlls/ntdll/signal_x86_64.c
+++ b/dlls/ntdll/signal_x86_64.c
@@ -542,6 +542,14 @@ NTSTATUS WINAPI dispatch_exception( EXCEPTION_RECORD *rec, CONTEXT *context )
{
WARN( "Thread %04x renamed to %s\n", (DWORD)rec->ExceptionInformation[2], debugstr_a((char *)rec->ExceptionInformation[1]) );
}
+ else if (rec->ExceptionCode == DBG_PRINTEXCEPTION_C)
+ {
+ WARN( "%s\n", debugstr_an((char *)rec->ExceptionInformation[1], rec->ExceptionInformation[0] - 1) );
+ }
+ else if (rec->ExceptionCode == DBG_PRINTEXCEPTION_WIDE_C)
+ {
+ WARN( "%s\n", debugstr_wn((WCHAR *)rec->ExceptionInformation[1], rec->ExceptionInformation[0] - 1) );
+ }
else
{
TRACE(" rax=%016lx rbx=%016lx rcx=%016lx rdx=%016lx\n",
--
2.30.0
More information about the wine-devel
mailing list