Index: head/sys/ddb/db_examine.c =================================================================== --- head/sys/ddb/db_examine.c +++ head/sys/ddb/db_examine.c @@ -232,9 +232,13 @@ void db_print_loc_and_inst(db_addr_t loc) { + db_expr_t off; + db_printsym(loc, DB_STGY_PROC); - db_printf(":\t"); - (void) db_disasm(loc, true); + if (db_search_symbol(loc, DB_STGY_PROC, &off) != C_DB_SYM_NULL) { + db_printf(":\t"); + (void)db_disasm(loc, true); + } } /* Index: head/sys/ddb/db_main.c =================================================================== --- head/sys/ddb/db_main.c +++ head/sys/ddb/db_main.c @@ -110,7 +110,7 @@ diff = ~0UL; match = NULL; for (sym = (Elf_Sym*)symtab->start; (char*)sym < symtab->end; sym++) { - if (sym->st_name == 0) + if (sym->st_name == 0 || sym->st_shndx == SHN_UNDEF) continue; if (off < sym->st_value) continue;