--- db_machdep.c.~1~ 2012-07-12 17:14:39.000000000 +0000 +++ db_machdep.c 2012-10-03 17:30:26.000000000 +0000 @@ -134,17 +134,20 @@ tf = (struct trapframe *)argp; switch (is_trap) { case TRAP: - (*pr)("--- trap (number %d) ---\n", tf->tf_trapno); + (*pr)("--- trap (number %"DDB_EXPR_FMT"u) ---\n", + db_get_value((long)&tf->tf_trapno, 8, false)); break; case SYSCALL: - (*pr)("--- syscall (number %ld) ---\n", tf->tf_rax); + (*pr)("--- syscall (number %"DDB_EXPR_FMT"u) ---\n", + db_get_value((long)&tf->tf_rax, 8, false)); break; case INTERRUPT: (*pr)("--- interrupt ---\n"); break; } - *ip = (db_addr_t)tf->tf_rip; - fp = (struct x86_64_frame *)tf->tf_rbp; + *ip = (db_addr_t)db_get_value((long)&tf->tf_rip, 8, false); + fp = (struct x86_64_frame *) + db_get_value((long)&tf->tf_rbp, 8, false); if (fp == NULL) return 0; *nextframe = (long *)&fp->f_frame;