fix stack dumps from printing an infinite amount of <0> in some cases

svn path=/trunk/; revision=12199
This commit is contained in:
Royce Mitchell III 2004-12-18 20:26:03 +00:00
parent 91bbf4471d
commit 8e3c98a05f

View file

@ -632,10 +632,11 @@ KeDumpStackFrames(PULONG Frame)
DbgPrint("Frames: ");
while ( MmIsAddressValid(Frame) )
{
if (!KeRosPrintAddress((PVOID)Frame[1]))
{
DbgPrint("<%X>", (PVOID)Frame[1]);
}
ULONG Addr = Frame[1];
if (!KeRosPrintAddress((PVOID)Addr))
DbgPrint("<%X>", Addr);
if ( Addr == 0 || Addr == 0xDEADBEEF )
break;
Frame = (PULONG)Frame[0];
DbgPrint(" ");
}
@ -661,13 +662,9 @@ KeRosDumpStackFrames ( PULONG Frame, ULONG FrameCount )
{
ULONG Addr = Frame[1];
if (!KeRosPrintAddress((PVOID)Addr))
{
DbgPrint("<%X>", Addr);
}
if ( Addr == 0 || Addr == 0xDEADBEEF )
{
break;
}
Frame = (PULONG)Frame[0];
DbgPrint(" ");
}