[ros-dev] RE: [ros-diffs] [CVS reactos] Fix handling of debug traps in GDB stub/KiDispatchException.

Hartmut Birr hartmut.birr at gmx.de
Sun Nov 14 13:17:43 CET 2004


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 at reactos.com [mailto:ros-diffs-bounces at reactos.com]
On Behalf Of Gregor Anich
Sent: Sunday, November 14, 2004 12:00 AM
To: ros-diffs at 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://reactos.com:8080/pipermail/ros-dev/attachments/20041114/c110b5f7/attachment.htm


More information about the Ros-dev mailing list