diff options
author | Christopher Ferris <cferris@google.com> | 2016-03-09 14:35:54 -0800 |
---|---|---|
committer | Christopher Ferris <cferris@google.com> | 2016-03-10 12:39:15 -0800 |
commit | 206a3b9798e3622c906a3cafdb113c271c1c927c (patch) | |
tree | 7a29fe8ae8862d448cdae2a8b043aacad4c1fdac /debuggerd | |
parent | a347cde38666a0129dcc5e577064963f11dde877 (diff) | |
download | core-206a3b9798e3622c906a3cafdb113c271c1c927c.tar.gz core-206a3b9798e3622c906a3cafdb113c271c1c927c.tar.bz2 core-206a3b9798e3622c906a3cafdb113c271c1c927c.zip |
Add error reporting mechanism for failing Unwind.
Remove the logging of an error if a thread disappears before the unwind
can begin. This can happen, so allow the caller to determine if this
is really a problem worth logging.
Bug: 27449879
Change-Id: Ie81718d53fb0e519fa0a7db9fd5f314b72bfa431
Diffstat (limited to 'debuggerd')
-rw-r--r-- | debuggerd/backtrace.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/debuggerd/backtrace.cpp b/debuggerd/backtrace.cpp index b6916e5b4..32843d860 100644 --- a/debuggerd/backtrace.cpp +++ b/debuggerd/backtrace.cpp @@ -91,7 +91,8 @@ static void dump_thread(log_t* log, BacktraceMap* map, pid_t pid, pid_t tid) { if (backtrace->Unwind(0)) { dump_backtrace_to_log(backtrace.get(), log, " "); } else { - ALOGE("Unwind failed: tid = %d", tid); + ALOGE("Unwind failed: tid = %d: %s", tid, + backtrace->GetErrorString(backtrace->GetError()).c_str()); } } |