Display all stack frames on a crash.
Bug: 74121887
Test: Forced a crash in the unwind code and verified the frames
Test: in the unwinder are present.
Change-Id: Id158dadea25e986a0d2e9feba0873a921644fd22
diff --git a/runtime/native_stack_dump.cc b/runtime/native_stack_dump.cc
index c26c26e..0db1770 100644
--- a/runtime/native_stack_dump.cc
+++ b/runtime/native_stack_dump.cc
@@ -287,7 +287,8 @@
BacktraceMap* existing_map,
const char* prefix,
ArtMethod* current_method,
- void* ucontext_ptr) {
+ void* ucontext_ptr,
+ bool skip_frames) {
// b/18119146
if (RUNNING_ON_MEMORY_TOOL != 0) {
return;
@@ -300,6 +301,7 @@
map = tmp_map.get();
}
std::unique_ptr<Backtrace> backtrace(Backtrace::Create(BACKTRACE_CURRENT_PROCESS, tid, map));
+ backtrace->SetSkipFrames(skip_frames);
if (!backtrace->Unwind(0, reinterpret_cast<ucontext*>(ucontext_ptr))) {
os << prefix << "(backtrace::Unwind failed for thread " << tid
<< ": " << backtrace->GetErrorString(backtrace->GetError()) << ")" << std::endl;