projects
/
pintos-anon
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make debug.h non-idempotent, like <assert.h>.
[pintos-anon]
/
src
/
lib
/
debug.c
diff --git
a/src/lib/debug.c
b/src/lib/debug.c
index 577ab67f06c39f60f8fd606d157b6a8a564916bd..fafbc8c1acc69de41a5dfb4104f910c2365f4c84 100644
(file)
--- a/
src/lib/debug.c
+++ b/
src/lib/debug.c
@@
-15,5
+15,20
@@
panic (const char *format, ...)
printk ("\n");
va_end (args);
printk ("\n");
va_end (args);
+ backtrace ();
+
for (;;);
}
for (;;);
}
+
+void
+backtrace (void)
+{
+ void **frame;
+
+ printk ("Call stack:");
+ for (frame = __builtin_frame_address (0);
+ frame != NULL && frame[0] != NULL;
+ frame = frame[0])
+ printk (" %p", frame[1]);
+ printk (".\n");
+}