Author: ion
Date: Tue Feb 20 09:51:16 2007
New Revision: 25858
URL:
http://svn.reactos.org/svn/reactos?rev=25858&view=rev
Log:
- Fix loading of boot symbols.
- Fix bug in KdpLoadSymbolsStateChange, we were never actually copying the pathname.
- Output of lm:
kd> lm
start end module name
80000000 80283000 nt (export symbols) ntoskrnl.exe
80283000 8029d000 hal (export symbols) halup.dll
Modified:
branches/alex-kd-branch/reactos/ntoskrnl/kd64/kdapi.c
branches/alex-kd-branch/reactos/ntoskrnl/kd64/kdinit.c
Modified: branches/alex-kd-branch/reactos/ntoskrnl/kd64/kdapi.c
URL:
http://svn.reactos.org/svn/reactos/branches/alex-kd-branch/reactos/ntoskrnl…
==============================================================================
--- branches/alex-kd-branch/reactos/ntoskrnl/kd64/kdapi.c (original)
+++ branches/alex-kd-branch/reactos/ntoskrnl/kd64/kdapi.c Tue Feb 20 09:51:16 2007
@@ -845,6 +845,7 @@
{
/* Setup the information */
WaitStateChange.u.LoadSymbols.PathNameLength = PathName->Length;
+ RtlCopyMemory(KdpPathBuffer, PathName->Buffer, PathName->Length);
Data.Buffer = KdpPathBuffer;
Data.Length = WaitStateChange.u.LoadSymbols.PathNameLength;
ExtraData = &Data;
Modified: branches/alex-kd-branch/reactos/ntoskrnl/kd64/kdinit.c
URL:
http://svn.reactos.org/svn/reactos/branches/alex-kd-branch/reactos/ntoskrnl…
==============================================================================
--- branches/alex-kd-branch/reactos/ntoskrnl/kd64/kdinit.c (original)
+++ branches/alex-kd-branch/reactos/ntoskrnl/kd64/kdinit.c Tue Feb 20 09:51:16 2007
@@ -68,8 +68,9 @@
ANSI_STRING ImageName;
PLDR_DATA_TABLE_ENTRY LdrEntry;
PLIST_ENTRY NextEntry;
- ULONG i, j;
+ ULONG i, j, Length;
CHAR NameBuffer[256];
+ PWCHAR Name;
/* Check if this is Phase 1 */
if (BootPhase)
@@ -230,11 +231,17 @@
InLoadOrderLinks);
/* Generate the image name */
- for (j = 0; j < LdrEntry->BaseDllName.Length / 2; j++)
+ Name = LdrEntry->FullDllName.Buffer;
+ Length = LdrEntry->FullDllName.Length / sizeof(WCHAR);
+ j = 0;
+ do
{
/* Do cheap Unicode to ANSI conversion */
- NameBuffer[j] = (CHAR)LdrEntry->BaseDllName.Buffer[j];
- }
+ NameBuffer[j++] = (CHAR)*Name++;
+ } while (j < Length);
+
+ /* Null-terminate */
+ NameBuffer[j] = ANSI_NULL;
/* Load symbols for image */
RtlInitAnsiString(&ImageName, NameBuffer);