Author: fireball
Date: Fri Jun 29 00:19:16 2007
New Revision: 27317
URL: http://svn.reactos.org/svn/reactos?rev=27317&view=rev
Log:
- Always use PsLoadedModuleList as a list of modules.
- Load kernel and hal symbols during BootPhase 1 initialization of this KD wrapper.
Modified:
trunk/reactos/ntoskrnl/kdbg/kdb_symbols.c
Modified: trunk/reactos/ntoskrnl/kdbg/kdb_symbols.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/kdbg/kdb_symbols.…
==============================================================================
--- trunk/reactos/ntoskrnl/kdbg/kdb_symbols.c (original)
+++ trunk/reactos/ntoskrnl/kdbg/kdb_symbols.c Fri Jun 29 00:19:16 2007
@@ -611,9 +611,9 @@
DPRINT("KdbSymProcessBootSymbols(%wZ)\n", &ModuleName);
- /* Check which list we should use */
- ListHead = (KeLoaderBlock) ? &KeLoaderBlock->LoadOrderListHead :
- &PsLoadedModuleList;
+ /* We use PsLoadedModuleList here, otherwise (in case of
+ using KeLoaderBlock) all our data will be just lost */
+ ListHead = &PsLoadedModuleList;
/* Found module we are interested in */
NextEntry = ListHead->Flink;
@@ -690,6 +690,7 @@
PCHAR p1, p2;
int Found;
char YesNo;
+ ANSI_STRING FileName;
DPRINT("KdbSymInit() BootPhase=%d\n", BootPhase);
@@ -759,6 +760,16 @@
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 */