Hi,
this changes breaks the handling of exceptions if KDB isn't set. In
KiDispatchException the variable Action is preinitialized with kdContinue.
After your changes, KiDispatchException does always return without any
action. After this changes, I'm not able to install reactos. At the second
stage setup I do never see the reboot page.
- Hartmut
-----Original Message-----
From: ros-diffs-bounces(a)reactos.com [mailto:ros-diffs-bounces@reactos.com]
On Behalf Of Gregor Anich
Sent: Sunday, November 14, 2004 12:00 AM
To: ros-diffs(a)reactos.com
Subject: [ros-diffs] [CVS reactos] Fix handling of debug traps in GDB
stub/KiDispatchException.
_____
reactos <http://cvs.reactos.com/cgi-bin/cvsweb/reactos> /ntoskrnl
<http://cvs.reactos.com/cgi-bin/cvsweb/reactos/ntoskrnl> /ke
<http://cvs.reactos.com/cgi-bin/cvsweb/reactos/ntoskrnl/ke>
catch.c 1.51
<http://cvs.reactos.com/cgi-bin/cvsweb/reactos/ntoskrnl/ke/catch.c?rev=1.51&
content-type=text/x-cvsweb-markup> -
<http://cvs.reactos.com/cgi-bin/cvsweb/reactos/ntoskrnl/ke/catch.c.diff?r1=t
ext&tr1=1.51&r2=text&tr2=1.52&f=h> > 1.52
<http://cvs.reactos.com/cgi-bin/cvsweb/reactos/ntoskrnl/ke/catch.c?rev=1.52&
content-type=text/x-cvsweb-markup>
diff -u -r1.51 -r1.52
--- catch.c 11 Nov 2004 12:27:40 -0000 1.51
+++ catch.c 13 Nov 2004 23:00:15 -0000 1.52
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: catch.c,v 1.51 2004/11/11 12:27:40 ekohl Exp $
+/* $Id: catch.c,v 1.52 2004/11/13 23:00:15 blight Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ke/catch.c
@@ -80,13 +80,13 @@
else if (KdDebuggerEnabled && KdDebugState & KD_DEBUG_KDB)
{
Action = KdbEnterDebuggerException (ExceptionRecord, Context, Tf);
- if (Action == kdContinue)
- {
- return;
- }
}
#endif /* KDBG */
- if (Action != kdDoNotHandleException)
+ if (Action == kdContinue)
+ {
+ return;
+ }
+ else if (Action != kdDoNotHandleException)
{
if (PreviousMode == UserMode)
{
@@ -94,7 +94,7 @@
{
PULONG Stack;
ULONG CDest;
- char temp_space[12 + sizeof(EXCEPTION_RECORD) +
sizeof(CONTEXT)]; // FIXME: HACKHACK
+ char temp_space[12 + sizeof(EXCEPTION_RECORD) +
sizeof(CONTEXT)]; /* FIXME: HACKHACK */
PULONG pNewUserStack = (PULONG)(Tf->Esp - (12 +
sizeof(EXCEPTION_RECORD) + sizeof(CONTEXT)));
NTSTATUS StatusOfCopy;
@@ -125,10 +125,11 @@
}
else
{
- // Now it really hit the ventilation device. Sorry,
- // can do nothing but kill the sucker.
+ /* Now it really hit the ventilation device. Sorry,
+ * can do nothing but kill the sucker.
+ */
ZwTerminateThread(NtCurrentThread(),
ExceptionRecord->ExceptionCode);
- DPRINT1("User-mode stack was invalid. Terminating target
thread\nn");
+ DPRINT1("User-mode stack was invalid. Terminating target
thread\n");
}
Tf->Eip = (ULONG)LdrpGetSystemDllExceptionDispatcher();
return;
email"
href="http://www.badgers-in-foil.co.uk/projects/cvsspam/">CVSspam
0.2.8