From 714d9de60d6c82d36cfe960af7dc5e4cbea368d2 Mon Sep 17 00:00:00 2001 From: Vladimir Chtchetkine Date: Tue, 7 Jun 2011 09:24:03 -0700 Subject: Fix crash reporting on x86 platform. Make sure that crash frame gets printed in one line Change-Id: If097a5a1655b17165b2a3271f0f5ee8ace57686f --- debuggerd/x86/unwind.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'debuggerd') diff --git a/debuggerd/x86/unwind.c b/debuggerd/x86/unwind.c index 8f84e014..0a7f04c8 100644 --- a/debuggerd/x86/unwind.c +++ b/debuggerd/x86/unwind.c @@ -24,7 +24,6 @@ int unwind_backtrace_with_ptrace_x86(int tfd, pid_t pid, mapinfo *map, //ebp==0, it indicates that the stack is poped to the bottom or there is no stack at all. while (ebp) { - _LOG(tfd, !at_fault, "#0%d ",stack_level); mi = pc_to_mapinfo(map, eip, &rel_pc); /* See if we can determine what symbol this stack frame resides in */ @@ -32,9 +31,11 @@ int unwind_backtrace_with_ptrace_x86(int tfd, pid_t pid, mapinfo *map, sym = symbol_table_lookup(mi->symbols, rel_pc); } if (sym) { - _LOG(tfd, !at_fault, " eip: %08x %s (%s)\n", eip, mi ? mi->name : "", sym->name); + _LOG(tfd, !at_fault, " #%02d eip: %08x %s (%s)\n", + stack_level, eip, mi ? mi->name : "", sym->name); } else { - _LOG(tfd, !at_fault, " eip: %08x %s\n", eip, mi ? mi->name : ""); + _LOG(tfd, !at_fault, " #%02d eip: %08x %s\n", + stack_level, eip, mi ? mi->name : ""); } stack_level++; @@ -49,7 +50,6 @@ int unwind_backtrace_with_ptrace_x86(int tfd, pid_t pid, mapinfo *map, if (ebp) _LOG(tfd, !at_fault, "stack: \n"); while (ebp) { - _LOG(tfd, !at_fault, "#0%d \n",stack_level); stack_ptr = cur_sp; while((int)(ebp - stack_ptr) >= 0) { stack_content = ptrace(PTRACE_PEEKTEXT, pid, (void*)stack_ptr, NULL); @@ -60,10 +60,11 @@ int unwind_backtrace_with_ptrace_x86(int tfd, pid_t pid, mapinfo *map, sym = symbol_table_lookup(mi->symbols, rel_pc); } if (sym) { - _LOG(tfd, !at_fault, " %08x %08x %s (%s)\n", - stack_ptr, stack_content, mi ? mi->name : "", sym->name); + _LOG(tfd, !at_fault, " #%02d %08x %08x %s (%s)\n", + stack_level, stack_ptr, stack_content, mi ? mi->name : "", sym->name); } else { - _LOG(tfd, !at_fault, " %08x %08x %s\n", stack_ptr, stack_content, mi ? mi->name : ""); + _LOG(tfd, !at_fault, " #%02d %08x %08x %s\n", + stack_level, stack_ptr, stack_content, mi ? mi->name : ""); } stack_ptr = stack_ptr + 4; -- cgit v1.2.3