- KdDebuggerNotPresent should be FALSE by default.
[reactos.git] / reactos / ntoskrnl / kd64 / kdtrap.c
index ecb56cb..a6f6c1b 100644 (file)
@@ -101,7 +101,6 @@ KdpTrap(IN PKTRAP_FRAME TrapFrame,
     BOOLEAN Unload = FALSE;\r
     ULONG Eip, Eax;\r
     BOOLEAN Status = FALSE;\r
-    while (TRUE);\r
 \r
     /*\r
      * Check if we got a STATUS_BREAKPOINT with a SubID for Print, Prompt or\r
@@ -120,7 +119,14 @@ KdpTrap(IN PKTRAP_FRAME TrapFrame,
             case BREAKPOINT_PRINT:\r
 \r
                 /* Call the worker routine */\r
-                Eax = 0;\r
+                Eax = KdpPrint(ContextRecord->Ebx,\r
+                               ContextRecord->Edi,\r
+                               (LPSTR)ExceptionRecord->ExceptionInformation[1],\r
+                               (ULONG)ExceptionRecord->ExceptionInformation[2],\r
+                               PreviousMode,\r
+                               TrapFrame,\r
+                               ExceptionFrame,\r
+                               &Status);\r
 \r
                 /* Update the return value for the caller */\r
                 ContextRecord->Eax = Eax;\r
@@ -130,6 +136,7 @@ KdpTrap(IN PKTRAP_FRAME TrapFrame,
             case BREAKPOINT_PROMPT:\r
 \r
                 /* Call the worker routine */\r
+                while (TRUE);\r
                 Eax = 0;\r
                 Status = TRUE;\r
 \r
@@ -147,6 +154,13 @@ KdpTrap(IN PKTRAP_FRAME TrapFrame,
             case BREAKPOINT_LOAD_SYMBOLS:\r
 \r
                 /* Call the worker routine */\r
+                KdpSymbol(UlongToPtr(ExceptionRecord->ExceptionInformation[1]),\r
+                          (ULONG)ExceptionRecord->ExceptionInformation[2],\r
+                          Unload,\r
+                          PreviousMode,\r
+                          ContextRecord,\r
+                          TrapFrame,\r
+                          ExceptionFrame);\r
                 Status = TRUE;\r
                 break;\r
 \r
@@ -154,6 +168,7 @@ KdpTrap(IN PKTRAP_FRAME TrapFrame,
             case BREAKPOINT_COMMAND_STRING:\r
 \r
                 /* Call the worker routine */\r
+                while (TRUE);\r
                 Status = TRUE;\r
 \r
             /* Anything else, do nothing */\r