[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 11/17] xenctx: Add -d (--dump-as-stack) <daddr> option to dump memory at daddr as a stack.
On Thu, 2014-03-20 at 15:06 -0400, Don Slutz wrote: > @@ -797,14 +796,17 @@ static int print_stack(vcpu_guest_context_any_t *ctx, > int vcpu, int width) > printf("Stack Trace:\n"); > else > printf("Call Trace:\n"); > - if ( xenctx.tag_call_trace ) > - printf(" %*s", width*2, ""); > - printf("%c [<", xenctx.stack_trace ? '*' : ' '); > - print_stack_word(instr_pointer(ctx), width); > - printf(">]"); > - > - print_symbol(instr_pointer(ctx)); > - printf(" <--\n"); > + if ( !xenctx.do_stack ) Why not? > + { > + if ( xenctx.tag_call_trace ) > + printf(" %*s", width*2, ""); > + printf("%c [<", xenctx.stack_trace ? '*' : ' '); > + print_stack_word(instr_pointer(ctx), width); > + printf(">]"); > + > + print_symbol(instr_pointer(ctx)); > + printf(" <--\n"); > + } > if (xenctx.frame_ptrs) { > stack = stack_pointer(ctx); > frame = frame_pointer(ctx); > @@ -944,13 +946,19 @@ static void dump_ctx(int vcpu) > print_mem(&ctx, vcpu, guest_word_size, xenctx.mem_addr); > return; > } > + if ( xenctx.do_stack ) > + { > + print_stack(&ctx, vcpu, guest_word_size, xenctx.stk_addr); > + return; > + } It's starting to seem like print_mem and print_stack should be called from main instead of here. In other words actually have multiple modes instead of stuffing things in as special cases here. > , > @@ -1110,6 +1121,11 @@ int main(int argc, char **argv) > xenctx.do_memory = 1; > do_default = 0; > break; > + case 'd': > + xenctx.stk_addr = strtoull(optarg, NULL, 0); You can reuse mem_addr here, can't you? _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |