ctrl-c on debugger
Eric Pouech
pouech-eric at wanadoo.fr
Sat May 24 14:41:27 CDT 2003
Ctrl-C on debugger console was no longer working because the i386 signal
handler had been changed to generate EXCEPTION_SINGLE_STEP exception
after DebugBreakProcess, whereas Win32 API requires an EXCEPTION_BREAKPOINT
this patch takes care of this (and ctrl-c on debugger reworked again)
A+
--
Eric Pouech
-------------- next part --------------
Name: sig386
ChangeLog: correctly convert into EXCEPTION_RECORD SIGTRAPs received from DebugBreakProcess
License: X11
GenDate: 2003/05/24 19:39:11 UTC
ModifiedFiles: dlls/ntdll/signal_i386.c
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/dlls/ntdll/signal_i386.c,v
retrieving revision 1.61
diff -u -u -r1.61 signal_i386.c
--- dlls/ntdll/signal_i386.c 14 May 2003 19:41:17 -0000 1.61
+++ dlls/ntdll/signal_i386.c 24 May 2003 09:48:01 -0000
@@ -842,6 +842,12 @@
{
context->ContextFlags = CONTEXT_DEBUG_REGISTERS;
NtGetContextThread(GetCurrentThread(), context);
+ /* do we really have a bp from a debug register ?
+ * if not, then someone did a kill(SIGTRAP) on us, and we
+ * shall return a breakpoint, not a single step exception
+ */
+ if (!(context->Dr6 & 0xf))
+ rec.ExceptionCode = EXCEPTION_BREAKPOINT;
}
break;
case T_BPTFLT: /* Breakpoint exception */
More information about the wine-patches
mailing list