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=2... ============================================================================== --- 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/de... ============================================================================== --- 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);