- Fix kernel symbol loading.

svn path=/trunk/; revision=24576
This commit is contained in:
Alex Ionescu 2006-10-20 05:41:01 +00:00
parent 9c4178c05b
commit 2a37845ce0

View file

@ -595,13 +595,13 @@ KdbSymProcessBootSymbols(IN PUNICODE_STRING FileName)
BOOLEAN IsRaw; BOOLEAN IsRaw;
PLIST_ENTRY ListHead, NextEntry; PLIST_ENTRY ListHead, NextEntry;
PLDR_DATA_TABLE_ENTRY LdrEntry; PLDR_DATA_TABLE_ENTRY LdrEntry;
PUNICODE_STRING ModuleName = FileName;
UNICODE_STRING NtosSymName = RTL_CONSTANT_STRING(L"ntoskrnl.sym"); UNICODE_STRING NtosSymName = RTL_CONSTANT_STRING(L"ntoskrnl.sym");
UNICODE_STRING NtosName = RTL_CONSTANT_STRING(L"ntoskrnl.exe"); UNICODE_STRING NtosName = RTL_CONSTANT_STRING(L"ntoskrnl.exe");
DPRINT("KdbSymProcessBootSymbols(%wZ)\n", FileName);
if (RtlEqualUnicodeString(FileName, &NtosSymName, TRUE)) if (RtlEqualUnicodeString(FileName, &NtosSymName, TRUE))
{ {
FileName = &NtosName; ModuleName = &NtosName;
IsRaw = TRUE; IsRaw = TRUE;
} }
else else
@ -609,7 +609,7 @@ KdbSymProcessBootSymbols(IN PUNICODE_STRING FileName)
IsRaw = FALSE; IsRaw = FALSE;
} }
ModuleObject = LdrGetModuleObject(FileName); ModuleObject = LdrGetModuleObject(ModuleName);
if (ModuleObject != NULL) if (ModuleObject != NULL)
{ {
@ -647,6 +647,7 @@ KdbSymProcessBootSymbols(IN PUNICODE_STRING FileName)
if (IsRaw) if (IsRaw)
{ {
DPRINT1("Data: %p %p %wZ\n", LdrEntry->DllBase, LdrEntry->SizeOfImage, &LdrEntry->FullDllName);
if (! RosSymCreateFromRaw(LdrEntry->DllBase, if (! RosSymCreateFromRaw(LdrEntry->DllBase,
LdrEntry->SizeOfImage, LdrEntry->SizeOfImage,
(PROSSYM_INFO*)&ModuleObject->PatchInformation)) (PROSSYM_INFO*)&ModuleObject->PatchInformation))