- Always use PsLoadedModuleList as a list of modules.

- Load kernel and hal symbols during BootPhase 1 initialization of this KD wrapper.

svn path=/trunk/; revision=27317
This commit is contained in:
Aleksey Bragin 2007-06-28 20:19:16 +00:00
parent 0a3292ae0a
commit e706d4ba84

View file

@ -611,9 +611,9 @@ KdbSymProcessBootSymbols(IN PANSI_STRING AnsiFileName)
DPRINT("KdbSymProcessBootSymbols(%wZ)\n", &ModuleName); DPRINT("KdbSymProcessBootSymbols(%wZ)\n", &ModuleName);
/* Check which list we should use */ /* We use PsLoadedModuleList here, otherwise (in case of
ListHead = (KeLoaderBlock) ? &KeLoaderBlock->LoadOrderListHead : using KeLoaderBlock) all our data will be just lost */
&PsLoadedModuleList; ListHead = &PsLoadedModuleList;
/* Found module we are interested in */ /* Found module we are interested in */
NextEntry = ListHead->Flink; NextEntry = ListHead->Flink;
@ -690,6 +690,7 @@ KdbSymInit(PKD_DISPATCH_TABLE DispatchTable,
PCHAR p1, p2; PCHAR p1, p2;
int Found; int Found;
char YesNo; char YesNo;
ANSI_STRING FileName;
DPRINT("KdbSymInit() BootPhase=%d\n", BootPhase); DPRINT("KdbSymInit() BootPhase=%d\n", BootPhase);
@ -759,6 +760,16 @@ KdbSymInit(PKD_DISPATCH_TABLE DispatchTable,
RosSymInitKernelMode(); RosSymInitKernelMode();
} }
else if (BootPhase == 1)
{
/* Load symbols for NTOSKRNL.EXE and HAL.DLL*/
/* FIXME: Load as 1st and 2nd entries of InLoadOrderList instead
of hardcoding them here! */
RtlInitAnsiString(&FileName, "\\SystemRoot\\System32\\NTOSKRNL.EXE");
KdbSymProcessBootSymbols(&FileName);
RtlInitAnsiString(&FileName, "\\SystemRoot\\System32\\HAL.DLL");
KdbSymProcessBootSymbols(&FileName);
}
} }
/* EOF */ /* EOF */