[ros-diffs] [ion] 25002: - Fix various Dbgk bugs in the DbgUI and Win32 Debug wrapper APIs. - Win32 Debug test application now works as well as Native one. - The Dbgk framework still crashes on exceptions, I think.

ion at svn.reactos.org ion at svn.reactos.org
Thu Nov 30 20:38:04 CET 2006


Author: ion
Date: Thu Nov 30 22:38:04 2006
New Revision: 25002

URL: http://svn.reactos.org/svn/reactos?rev=25002&view=rev
Log:
- Fix various Dbgk bugs in the DbgUI and Win32 Debug wrapper APIs.
- Win32 Debug test application now works as well as Native one.
- The Dbgk framework still crashes on exceptions, I think.

Modified:
    trunk/reactos/dll/ntdll/dbg/dbgui.c
    trunk/reactos/dll/win32/kernel32/debug/debugger.c

Modified: trunk/reactos/dll/ntdll/dbg/dbgui.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/dbg/dbgui.c?rev=25002&r1=25001&r2=25002&view=diff
==============================================================================
--- trunk/reactos/dll/ntdll/dbg/dbgui.c (original)
+++ trunk/reactos/dll/ntdll/dbg/dbgui.c Thu Nov 30 22:38:04 2006
@@ -163,12 +163,12 @@
             if (!NT_SUCCESS(Status))
             {
                 /* Failed to get PEB address */
-                DebugEvent->u.CreateThread.lpThreadLocalBase = NULL;
+                DebugEvent->u.CreateProcessInfo.lpThreadLocalBase = NULL;
             }
             else
             {
                 /* Write PEB Address */
-                DebugEvent->u.CreateThread.lpThreadLocalBase =
+                DebugEvent->u.CreateProcessInfo.lpThreadLocalBase =
                     ThreadBasicInfo.TebBaseAddress;
             }
 

Modified: trunk/reactos/dll/win32/kernel32/debug/debugger.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/debug/debugger.c?rev=25002&r1=25001&r2=25002&view=diff
==============================================================================
--- trunk/reactos/dll/win32/kernel32/debug/debugger.c (original)
+++ trunk/reactos/dll/win32/kernel32/debug/debugger.c Thu Nov 30 22:38:04 2006
@@ -235,6 +235,7 @@
     if (dwProcessId == -1) dwProcessId = (DWORD)CsrGetProcessId();
 
     /* Open a handle to the process */
+    ClientId.UniqueThread = NULL;
     ClientId.UniqueProcess = (HANDLE)dwProcessId;
     InitializeObjectAttributes(&ObjectAttributes, NULL, 0, NULL, NULL);
     Status = NtOpenProcess(&Handle,
@@ -498,7 +499,7 @@
     } while ((Status == STATUS_ALERTED) || (Status == STATUS_USER_APC));
 
     /* Check if the wait failed */
-    if (!(NT_SUCCESS(Status)) || (Status != DBG_UNABLE_TO_PROVIDE_HANDLE))
+    if (!(NT_SUCCESS(Status)) || (Status == DBG_UNABLE_TO_PROVIDE_HANDLE))
     {
         /* Set the error code and quit */
         SetLastErrorByStatus(Status);




More information about the Ros-diffs mailing list