diff options
author | Christopher Ferris <cferris@google.com> | 2020-09-28 20:13:53 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-09-28 20:13:53 +0000 |
commit | 06c5c6958ad9455b579b7b29c0fc881adec573cc (patch) | |
tree | a050128d65a79f6ac8be8ef582ce8edd3be59974 /debuggerd/libdebuggerd/backtrace.cpp | |
parent | 392c59b819a3df256266e4475876dfc020dad7b7 (diff) | |
parent | 0bd4f2dfc1a141c1ee2ad52b7e742c854ec06c28 (diff) |
Merge "Add arch member into Unwinder object." am: 087552a89b am: 89f54f6f86 am: d232e3c435 am: 0bd4f2dfc1
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1437275
Change-Id: I1bd0289d05aa589db9623c51fdac8ad3fd322a9a
Diffstat (limited to 'debuggerd/libdebuggerd/backtrace.cpp')
-rw-r--r-- | debuggerd/libdebuggerd/backtrace.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/debuggerd/libdebuggerd/backtrace.cpp b/debuggerd/libdebuggerd/backtrace.cpp index f5a873c4d3..c543a83921 100644 --- a/debuggerd/libdebuggerd/backtrace.cpp +++ b/debuggerd/libdebuggerd/backtrace.cpp @@ -18,8 +18,9 @@ #include "libdebuggerd/backtrace.h" -#include <errno.h> #include <dirent.h> +#include <errno.h> +#include <inttypes.h> #include <limits.h> #include <stddef.h> #include <stdio.h> @@ -65,7 +66,11 @@ void dump_backtrace_thread(int output_fd, unwindstack::Unwinder* unwinder, unwinder->SetRegs(thread.registers.get()); unwinder->Unwind(); if (unwinder->NumFrames() == 0) { - _LOG(&log, logtype::THREAD, "Unwind failed: tid = %d", thread.tid); + _LOG(&log, logtype::THREAD, "Unwind failed: tid = %d\n", thread.tid); + if (unwinder->LastErrorCode() != unwindstack::ERROR_NONE) { + _LOG(&log, logtype::THREAD, " Error code: %s\n", unwinder->LastErrorCodeString()); + _LOG(&log, logtype::THREAD, " Error address: 0x%" PRIx64 "\n", unwinder->LastErrorAddress()); + } return; } |