- 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:
Alex Ionescu 2006-12-01 08:20:37 +00:00
parent 94912681e1
commit d67835f9dc
4 changed files with 3 additions and 5 deletions

View file

@ -282,7 +282,6 @@ DbgUiConvertStateChangeStructure(IN PDBGUI_WAIT_STATE_CHANGE WaitStateChange,
DebugEvent->u.LoadDll.lpImageName =
((PTEB)ThreadBasicInfo.TebBaseAddress)->
Tib.ArbitraryUserPointer;
DPRINT1("Image name: %p\n", DebugEvent->u.LoadDll.lpImageName);
}
else
{

View file

@ -2030,7 +2030,6 @@ LdrpLoadModule(IN PWSTR SearchPath OPTIONAL,
ImageBase = 0;
ArbitraryUserPointer = NtCurrentTeb()->Tib.ArbitraryUserPointer;
NtCurrentTeb()->Tib.ArbitraryUserPointer = FullDosName.Buffer;
DPRINT1("POI. DAT: %p %S\n", NtCurrentTeb()->Tib.ArbitraryUserPointer, FullDosName.Buffer);
Status = NtMapViewOfSection(SectionHandle,
NtCurrentProcess(),
&ImageBase,
@ -2042,7 +2041,6 @@ LdrpLoadModule(IN PWSTR SearchPath OPTIONAL,
MEM_COMMIT,
PAGE_READONLY);
NtCurrentTeb()->Tib.ArbitraryUserPointer = ArbitraryUserPointer;
DPRINT1("Poi gone!\n");
if (!NT_SUCCESS(Status))
{
DPRINT1("map view of section failed (Status 0x%08lx)\n", Status);

View file

@ -329,7 +329,6 @@ DbgkForwardException(IN PEXCEPTION_RECORD ExceptionRecord,
PAGED_CODE();
DBGKTRACE(DBGK_EXCEPTION_DEBUG,
"ExceptionRecord: %p Port: %p\n", ExceptionRecord, DebugPort);
while (TRUE);
/* Setup the API Message */
ApiMessage.h.u1.Length = sizeof(DBGKM_MSG) << 16 |
@ -401,6 +400,7 @@ DbgkpFreeDebugEvent(IN PDEBUG_EVENT DebugEvent)
/* Get the pointer */
Handle = &DebugEvent->ApiMsg.CreateProcess.FileHandle;
break;
/* As does DLL load */
case DbgKmLoadDllApi:
@ -1021,6 +1021,7 @@ DbgkpOpenHandles(IN PDBGUI_WAIT_STATE_CHANGE WaitStateChange,
/* Fall through to duplicate file handle */
DupHandle = &WaitStateChange->StateInfo.LoadDll.FileHandle;
break;
/* Anything else has no handles */
default:

View file

@ -693,7 +693,7 @@ KiDispatchException(IN PEXCEPTION_RECORD ExceptionRecord,
if (PsGetCurrentProcess()->DebugPort)
{
/* FIXME : TODO */
ASSERT(FALSE);
//KEBUGCHECK(0);
}
else if (KiDebugRoutine(TrapFrame,
ExceptionFrame,