summaryrefslogtreecommitdiffstats
path: root/debuggerd
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2016-03-09 14:35:54 -0800
committerChristopher Ferris <cferris@google.com>2016-03-10 12:39:15 -0800
commit206a3b9798e3622c906a3cafdb113c271c1c927c (patch)
tree7a29fe8ae8862d448cdae2a8b043aacad4c1fdac /debuggerd
parenta347cde38666a0129dcc5e577064963f11dde877 (diff)
downloadcore-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.cpp3
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());
}
}