diff options
-rw-r--r-- | i386/i386/db_trace.c | 9 |
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; |