diff options
author | Jeff Brown <jeffbrown@google.com> | 2011-11-21 21:03:37 -0800 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2011-11-21 21:03:37 -0800 |
commit | 69c475676546a97f872df9e19125c0154b40ae0b (patch) | |
tree | 45e3f8c90e5802199c2d26a937b95a5becbe9300 /vm/interp | |
parent | 0083c42a76583417303d5795ab60e3653d326c74 (diff) | |
download | android_dalvik-69c475676546a97f872df9e19125c0154b40ae0b.tar.gz android_dalvik-69c475676546a97f872df9e19125c0154b40ae0b.tar.bz2 android_dalvik-69c475676546a97f872df9e19125c0154b40ae0b.zip |
Use libcorkscrew to format the stack trace.
Change-Id: I06ddbb7a8035971b6e1a164adcd00208fae89b1a
Diffstat (limited to 'vm/interp')
-rw-r--r-- | vm/interp/Stack.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/vm/interp/Stack.cpp b/vm/interp/Stack.cpp index 6debcff73..f482980fd 100644 --- a/vm/interp/Stack.cpp +++ b/vm/interp/Stack.cpp @@ -1394,16 +1394,10 @@ void dvmDumpNativeStack(const DebugOutputTarget* target, pid_t tid) get_backtrace_symbols(backtrace, frames, backtrace_symbols); for (size_t i = 0; i < size_t(frames); i++) { - const backtrace_symbol_t& symbol = backtrace_symbols[i]; - const char* mapName = symbol.map_name ? symbol.map_name : "<unknown>"; - const char* symbolName = symbol.demangled_name ? symbol.demangled_name : symbol.name; - if (symbolName) { - dvmPrintDebugMessage(target, " #%02d pc %08x %s (%s)\n", - i, uint32_t(symbol.relative_pc), mapName, symbolName); - } else { - dvmPrintDebugMessage(target, " #%02d pc %08x %s\n", - i, uint32_t(symbol.relative_pc), mapName); - } + char line[MAX_BACKTRACE_LINE_LENGTH]; + format_backtrace_line(i, &backtrace[i], &backtrace_symbols[i], + line, MAX_BACKTRACE_LINE_LENGTH); + dvmPrintDebugMessage(target, " %s\n", line); } free_backtrace_symbols(backtrace_symbols, frames); |