Re-use (better) stack backtrace function
Modified: trunk/reactos/ntoskrnl/ke/i386/exp.c
  _____
Modified: trunk/reactos/ntoskrnl/ke/i386/exp.c
--- trunk/reactos/ntoskrnl/ke/i386/exp.c        2005-02-05 10:54:00 UTC
(rev 13422)
+++ trunk/reactos/ntoskrnl/ke/i386/exp.c        2005-02-05 18:49:43 UTC
(rev 13423)
@@ -1,5 +1,4 @@
-/* $Id:$
- *
+/*
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
  * FILE:            ntoskrnl/ke/i386/exp.c
@@ -393,9 +392,7 @@
 KiDumpTrapFrame(PKTRAP_FRAME Tf, ULONG Parameter1, ULONG Parameter2)
 {
   ULONG cr3_;
-  ULONG i;
   ULONG StackLimit;
-  PULONG Frame;
   ULONG Esp0;
   ULONG ExceptionNr = (ULONG)Tf->DebugArgMark;
   ULONG cr2 = (ULONG)Tf->DebugPointer;
@@ -462,46 +459,7 @@
    /*
     * Dump the stack frames
     */
-   DbgPrint("Frames: ");
-   /* Change to an #if 0 if no frames are printed because of fpo. */
-#if 1
-   i = 1;
-   Frame = (PULONG)Tf->Ebp;
-   while (Frame != NULL)
-     {
-       NTSTATUS Status;
-       PVOID Eip;
-       Status = MmSafeCopyFromUser(&Eip, Frame + 1, sizeof(Eip));
-       if (!NT_SUCCESS(Status))
-        {
-          DbgPrint("<INVALID>");
-          break;
-        }
-       if (!KeRosPrintAddress(Eip))
-        {
-          DbgPrint("<%X>", Eip);
-        }
-       Status = MmSafeCopyFromUser(&Frame, Frame, sizeof(Frame));
-       if (!NT_SUCCESS(Status))
-        {
-          break;
-        }
-       i++;
-       DbgPrint(" ");
-     }
-#else
-   i = 1;
-   Frame = (PULONG)((ULONG_PTR)Esp0 + KTRAP_FRAME_EFLAGS);
-   while (Frame < (PULONG)PsGetCurrentThread()->Tcb.StackBase && i <
50)
-     {
-        ULONG Address = *Frame;
-        if (KeRosPrintAddress((PVOID)Address))
-          {
-            i++;
-          }
-        Frame++;
-     }
-#endif
+   KeDumpStackFrames((PULONG)Tf->Ebp);
 }
 ULONG
@@ -616,7 +574,7 @@
        ULONG ResultLength = sizeof(mbi);
        NTSTATUS Status;
-       DbgPrint("Frames: ");
+       DbgPrint("Frames:\n");
        _SEH_TRY
        {
                Status = MiQueryVirtualMemory (
    
    
    
    
    
 
                    
                    
                        
                        Show replies by date