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=…
==============================================================================
--- 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/d…
==============================================================================
--- 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);