summaryrefslogtreecommitdiffstats
path: root/vm/interp
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2011-11-21 21:03:37 -0800
committerJeff Brown <jeffbrown@google.com>2011-11-21 21:03:37 -0800
commit69c475676546a97f872df9e19125c0154b40ae0b (patch)
tree45e3f8c90e5802199c2d26a937b95a5becbe9300 /vm/interp
parent0083c42a76583417303d5795ab60e3653d326c74 (diff)
downloadandroid_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.cpp14
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);