aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--i386/i386/db_trace.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/i386/i386/db_trace.c b/i386/i386/db_trace.c
index b63e140f..cb678853 100644
--- a/i386/i386/db_trace.c
+++ b/i386/i386/db_trace.c
@@ -295,8 +295,15 @@ db_nextframe(
*/
saved_regs = (struct i386_saved_state *)
db_get_task_value((long)&((*fp)->f_arg0),sizeof(long),FALSE,task);
- db_printf(">>>>> %s (%d) at ",
+ db_printf(">>>>> %s (%d)",
trap_name(saved_regs->trapno), saved_regs->trapno);
+ if (saved_regs->trapno == T_PAGE_FAULT)
+ db_printf(" for %s%s%s %lx",
+ saved_regs->err & T_PF_PROT ? "P" : "",
+ saved_regs->err & T_PF_WRITE ? "W" : "",
+ saved_regs->err & T_PF_USER ? "U" : "",
+ lintokv(saved_regs->cr2));
+ db_printf(" at ");
db_task_printsym(saved_regs->eip, DB_STGY_PROC, task);
db_printf(" <<<<<\n");
*fp = (struct i386_frame *)saved_regs->ebp;