|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] xenctx: Add command line option -t (--tag-stack-dump)
commit 8ccc27fea4a7feb90289ada8f04d47d70985e419
Author: Don Slutz <dslutz@xxxxxxxxxxx>
AuthorDate: Thu Apr 3 15:06:57 2014 -0400
Commit: Ian Campbell <ian.campbell@xxxxxxxxxx>
CommitDate: Fri Apr 4 09:28:07 2014 +0100
xenctx: Add command line option -t (--tag-stack-dump)
If specified, add stack address to dump.
This is not the default because the result exceeds 80 characters per line.
Here is an example:
Stack:
ffffffff803ddf90: ffffffff80048d19 0000000000200800 ffffffff803e7801
0000000000086800
ffffffff803ddfb0: 0000000000000000 ffffffff80430720 ffffffff803e722f
80008e000010019c
ffffffff803ddfd0: 00000000ffffffff 0000000000000000 0000000000000000
0000000000200000
ffffffff803ddff0: 0000000000000000 0000000000000000
Signed-off-by: Don Slutz <Don@xxxxxxxxxxxxxxx>
Reviewed-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
tools/xentrace/xenctx.c | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/tools/xentrace/xenctx.c b/tools/xentrace/xenctx.c
index 82cf6b0..145c990 100644
--- a/tools/xentrace/xenctx.c
+++ b/tools/xentrace/xenctx.c
@@ -40,6 +40,7 @@ static struct xenctx {
int bytes_per_line;
int lines;
int decode_as_ascii;
+ int tag_stack_dump;
int all_vcpus;
int self_paused;
xc_dominfo_t dominfo;
@@ -689,6 +690,11 @@ static int print_stack(vcpu_guest_context_any_t *ctx, int
vcpu, int width)
int j = 0;
int k;
+ if ( xenctx.tag_stack_dump )
+ {
+ print_stack_word(stack, width);
+ printf(":");
+ }
while ( stack < stack_limit &&
stack < stack_pointer(ctx) + i * xenctx.bytes_per_line )
{
@@ -901,13 +907,15 @@ static void usage(void)
printf(" if stack limit reached.\n");
printf(" -D, --decode-as-ascii\n");
printf(" add a decode of Stack dump as ascii.\n");
+ printf(" -t, --tag-stack-dump\n");
+ printf(" add address on each line of Stack dump.\n");
}
int main(int argc, char **argv)
{
int ch;
int ret;
- static const char *sopts = "fs:hak:SCn:b:l:D";
+ static const char *sopts = "fs:hak:SCn:b:l:Dt";
static const struct option lopts[] = {
{"stack-trace", 0, NULL, 'S'},
{"symbol-table", 1, NULL, 's'},
@@ -915,6 +923,7 @@ int main(int argc, char **argv)
{"kernel-start", 1, NULL, 'k'},
{"display-stack-pages", 0, NULL, 'n'},
{"decode-as-ascii", 0, NULL, 'D'},
+ {"tag-stack-dump", 0, NULL, 't'},
{"bytes-per-line", 1, NULL, 'b'},
{"lines", 1, NULL, 'l'},
{"all", 0, NULL, 'a'},
@@ -957,6 +966,9 @@ int main(int argc, char **argv)
case 'D':
xenctx.decode_as_ascii = 1;
break;
+ case 't':
+ xenctx.tag_stack_dump = 1;
+ break;
case 'b':
xenctx.bytes_per_line = strtol(optarg, NULL, 0);
if ( xenctx.bytes_per_line < 4 ||
--
generated by git-patchbot for /home/xen/git/xen.git#master
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |