mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 16:23:01 +00:00
- Kill some debug prints.
- Remove debug-test infinite loop from DbgkForwardException - Fix missing "break" statement in DbgkFreeDebugEvent, causing a handle leak, and in DbgkpOpenHandles, causing user-mode to get a kernel-mode handle for DLL images instead of the correct duplicated one. - Currently struggling with the fact that ArbitraryUserPointer seems to be reset to zero before it's read for the debug event, so DLL names don't come through. svn path=/trunk/; revision=25011
This commit is contained in:
parent
94912681e1
commit
d67835f9dc
4 changed files with 3 additions and 5 deletions
|
@ -282,7 +282,6 @@ DbgUiConvertStateChangeStructure(IN PDBGUI_WAIT_STATE_CHANGE WaitStateChange,
|
||||||
DebugEvent->u.LoadDll.lpImageName =
|
DebugEvent->u.LoadDll.lpImageName =
|
||||||
((PTEB)ThreadBasicInfo.TebBaseAddress)->
|
((PTEB)ThreadBasicInfo.TebBaseAddress)->
|
||||||
Tib.ArbitraryUserPointer;
|
Tib.ArbitraryUserPointer;
|
||||||
DPRINT1("Image name: %p\n", DebugEvent->u.LoadDll.lpImageName);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -2030,7 +2030,6 @@ LdrpLoadModule(IN PWSTR SearchPath OPTIONAL,
|
||||||
ImageBase = 0;
|
ImageBase = 0;
|
||||||
ArbitraryUserPointer = NtCurrentTeb()->Tib.ArbitraryUserPointer;
|
ArbitraryUserPointer = NtCurrentTeb()->Tib.ArbitraryUserPointer;
|
||||||
NtCurrentTeb()->Tib.ArbitraryUserPointer = FullDosName.Buffer;
|
NtCurrentTeb()->Tib.ArbitraryUserPointer = FullDosName.Buffer;
|
||||||
DPRINT1("POI. DAT: %p %S\n", NtCurrentTeb()->Tib.ArbitraryUserPointer, FullDosName.Buffer);
|
|
||||||
Status = NtMapViewOfSection(SectionHandle,
|
Status = NtMapViewOfSection(SectionHandle,
|
||||||
NtCurrentProcess(),
|
NtCurrentProcess(),
|
||||||
&ImageBase,
|
&ImageBase,
|
||||||
|
@ -2042,7 +2041,6 @@ LdrpLoadModule(IN PWSTR SearchPath OPTIONAL,
|
||||||
MEM_COMMIT,
|
MEM_COMMIT,
|
||||||
PAGE_READONLY);
|
PAGE_READONLY);
|
||||||
NtCurrentTeb()->Tib.ArbitraryUserPointer = ArbitraryUserPointer;
|
NtCurrentTeb()->Tib.ArbitraryUserPointer = ArbitraryUserPointer;
|
||||||
DPRINT1("Poi gone!\n");
|
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
{
|
{
|
||||||
DPRINT1("map view of section failed (Status 0x%08lx)\n", Status);
|
DPRINT1("map view of section failed (Status 0x%08lx)\n", Status);
|
||||||
|
|
|
@ -329,7 +329,6 @@ DbgkForwardException(IN PEXCEPTION_RECORD ExceptionRecord,
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
DBGKTRACE(DBGK_EXCEPTION_DEBUG,
|
DBGKTRACE(DBGK_EXCEPTION_DEBUG,
|
||||||
"ExceptionRecord: %p Port: %p\n", ExceptionRecord, DebugPort);
|
"ExceptionRecord: %p Port: %p\n", ExceptionRecord, DebugPort);
|
||||||
while (TRUE);
|
|
||||||
|
|
||||||
/* Setup the API Message */
|
/* Setup the API Message */
|
||||||
ApiMessage.h.u1.Length = sizeof(DBGKM_MSG) << 16 |
|
ApiMessage.h.u1.Length = sizeof(DBGKM_MSG) << 16 |
|
||||||
|
@ -401,6 +400,7 @@ DbgkpFreeDebugEvent(IN PDEBUG_EVENT DebugEvent)
|
||||||
|
|
||||||
/* Get the pointer */
|
/* Get the pointer */
|
||||||
Handle = &DebugEvent->ApiMsg.CreateProcess.FileHandle;
|
Handle = &DebugEvent->ApiMsg.CreateProcess.FileHandle;
|
||||||
|
break;
|
||||||
|
|
||||||
/* As does DLL load */
|
/* As does DLL load */
|
||||||
case DbgKmLoadDllApi:
|
case DbgKmLoadDllApi:
|
||||||
|
@ -1021,6 +1021,7 @@ DbgkpOpenHandles(IN PDBGUI_WAIT_STATE_CHANGE WaitStateChange,
|
||||||
|
|
||||||
/* Fall through to duplicate file handle */
|
/* Fall through to duplicate file handle */
|
||||||
DupHandle = &WaitStateChange->StateInfo.LoadDll.FileHandle;
|
DupHandle = &WaitStateChange->StateInfo.LoadDll.FileHandle;
|
||||||
|
break;
|
||||||
|
|
||||||
/* Anything else has no handles */
|
/* Anything else has no handles */
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -693,7 +693,7 @@ KiDispatchException(IN PEXCEPTION_RECORD ExceptionRecord,
|
||||||
if (PsGetCurrentProcess()->DebugPort)
|
if (PsGetCurrentProcess()->DebugPort)
|
||||||
{
|
{
|
||||||
/* FIXME : TODO */
|
/* FIXME : TODO */
|
||||||
ASSERT(FALSE);
|
//KEBUGCHECK(0);
|
||||||
}
|
}
|
||||||
else if (KiDebugRoutine(TrapFrame,
|
else if (KiDebugRoutine(TrapFrame,
|
||||||
ExceptionFrame,
|
ExceptionFrame,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue