Add a suggestion to use `backtrace' and a reference to the manual to
[pintos-anon] / src / lib / debug.c
index 7d520638c8cd9a9e8e60a3874b5ce5ae1dee7845..4f0f5f303cf933dab61c1b1e6f723d7ed7b8bb6b 100644 (file)
@@ -5,6 +5,7 @@
 #include <stdio.h>
 #include <string.h>
 #ifdef KERNEL
+#include "threads/init.h"
 #include "threads/interrupt.h"
 #include "devices/serial.h"
 #else
@@ -87,9 +88,15 @@ debug_panic (const char *file, int line, const char *function,
 
   debug_backtrace ();
 
+  printf ("The `backtrace' program can make call stacks useful.\n"
+          "Read \"Backtraces\" in the \"Debugging Tools\" chapter\n"
+          "of the Pintos documentation for more information.\n");
+  
 #ifdef KERNEL
   serial_flush ();
-  power_off ();
+  if (power_off_when_done)
+    power_off ();
+  for (;;);
 #else
   exit (1);
 #endif