kernel - ddb: Print raw instruction pointers in ddb backtrace.
[dragonfly.git] / sys / platform / pc32 / i386 / db_trace.c
index b7b4d43..6654ad3 100644 (file)
@@ -163,6 +163,7 @@ db_print_stack_entry(const char *name, int narg, char **argnp, int *argp,
        }
        db_printf(") at ");
        db_printsym(callpc, DB_STGY_PROC);
+        db_printf(" %p ",  (void*) callpc);
        db_printf("\n");
 }
 
@@ -273,7 +274,7 @@ db_stack_trace_cmd(db_expr_t addr, boolean_t have_addr, db_expr_t count,
                        frame = (struct i386_frame *)(SP_REGS(&ddb_regs) - 4);
                callpc = PC_REGS(&ddb_regs);
        } else if (!INKERNEL(addr)) {
-#if needswork
+#if 0 /* needswork */
                pid = (addr % 16) + ((addr >> 4) % 16) * 10 +
                    ((addr >> 8) % 16) * 100 + ((addr >> 12) % 16) * 1000 +
                    ((addr >> 16) % 16) * 10000;
@@ -292,12 +293,12 @@ db_stack_trace_cmd(db_expr_t addr, boolean_t have_addr, db_expr_t count,
                        struct proc *p;
                        struct pcb *pcb;
 
-                       p = pfind(pid);
+                       p = pfindn(pid);
                        if (p == NULL) {
                                db_printf("pid %d not found\n", pid);
                                return;
                        }
-                       if ((p->p_flag & P_SWAPPEDOUT)) {
+                       if ((p->p_flags & P_SWAPPEDOUT)) {
                                db_printf("pid %d swapped out\n", pid);
                                return;
                        }