aboutsummaryrefslogtreecommitdiffstats
path: root/debuggerd
diff options
context:
space:
mode:
authorVladimir Chtchetkine <vchtchetkine@google.com>2011-06-09 11:24:17 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-06-09 11:24:17 -0700
commit953907faa38e8deff2b0a8f3c3cd7db68074950a (patch)
treeb7be20a8e106907c78bd17e04974c3cdb5e9b3d4 /debuggerd
parent9b5be35770aab82c851eb5ec40b4b63175c99198 (diff)
parent716104b40df12d367cb5f649b92c6105d5978787 (diff)
downloadsystem_core-953907faa38e8deff2b0a8f3c3cd7db68074950a.tar.gz
system_core-953907faa38e8deff2b0a8f3c3cd7db68074950a.tar.bz2
system_core-953907faa38e8deff2b0a8f3c3cd7db68074950a.zip
am 716104b4: am 771f5146: am 4c0b9e3d: Merge "Fix crash reporting on x86 platform."
* commit '716104b40df12d367cb5f649b92c6105d5978787': Fix crash reporting on x86 platform.
Diffstat (limited to 'debuggerd')
-rw-r--r--debuggerd/x86/unwind.c15
1 files changed, 8 insertions, 7 deletions
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;