for (i = 0; seg_names[i] != NULL; i++) {
- V3_Print(VM_NONE, VCORE_NONE, "\t%s: Sel=%x, base=%p, limit=%x (long_mode=%d, db=%d)\n", seg_names[i], seg_ptr[i].selector,
- (void *)(addr_t)seg_ptr[i].base, seg_ptr[i].limit,
- seg_ptr[i].long_mode, seg_ptr[i].db);
-
+ V3_Print(VM_NONE, VCORE_NONE, "\t%s: selector=0x%x, base=%p, limit=0x%x type=0x%x system=0x%x dpl=0x%x present=0x%x avail=0x%x long_mode=0x%x db=0x%x granularity=0x%x unusable=0x%x\n",
+ seg_names[i],
+ seg_ptr[i].selector,
+ (void *)(addr_t)seg_ptr[i].base,
+ seg_ptr[i].limit,
+ seg_ptr[i].type,
+ seg_ptr[i].system,
+ seg_ptr[i].dpl,
+ seg_ptr[i].present,
+ seg_ptr[i].avail,
+ seg_ptr[i].long_mode,
+ seg_ptr[i].db,
+ seg_ptr[i].granularity,
+ seg_ptr[i].unusable);
}
}
tmp_ptr += 3; // pass over symbol type
if (sym_offset > rip_val) {
- char * end_ptr = strchr(sym_ptr, '\n');
-
- if (end_ptr) {
- *end_ptr = 0; // null terminate symbol...
+ if (sym_ptr) {
+ char * end_ptr = strchr(sym_ptr, '\n');
+
+ if (end_ptr) {
+ *end_ptr = 0; // null terminate symbol...
+ }
+ sym_name = sym_ptr;
+ } else {
+ sym_name = NULL;
}
-
- sym_name = sym_ptr;
break;
}
sym_ptr = tmp_ptr;
+
{
char * end_ptr2 = strchr(tmp_ptr, '\n');