diff options
author | Christopher Ferris <cferris@google.com> | 2017-11-02 16:19:56 -0700 |
---|---|---|
committer | Christopher Ferris <cferris@google.com> | 2017-11-02 16:22:52 -0700 |
commit | c56a499422a7d85999babecfb0e7b8a7d0b42adc (patch) | |
tree | da665c52b1791154de8f101a3b9bfb8002750c2a /libbacktrace/include/backtrace/Backtrace.h | |
parent | 0d323c12df99201a341f0fb34ed543a46ec6eb86 (diff) | |
download | system_core-c56a499422a7d85999babecfb0e7b8a7d0b42adc.tar.gz system_core-c56a499422a7d85999babecfb0e7b8a7d0b42adc.tar.bz2 system_core-c56a499422a7d85999babecfb0e7b8a7d0b42adc.zip |
Only skip frames for local unwinds.
When doing a remote unwind, and there is a crash in the unwind stack
code or in libbacktrace, the old version would skip those frames.
This makes debugging crashes in those libraries a bit difficult.
Bug: 68820611
Test: Ran unit tests.
Test: kill -3 a zygote process and verify no frames in
Test: libunwindstack.so/libbacktrace.so.
Test: Forced a crash in libunwindstack.so and verified the tombstone
Test: contains the full crash.
Change-Id: I297e5b3775c87c0dddf57ebb423bd72ba1baf193
Diffstat (limited to 'libbacktrace/include/backtrace/Backtrace.h')
-rw-r--r-- | libbacktrace/include/backtrace/Backtrace.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libbacktrace/include/backtrace/Backtrace.h b/libbacktrace/include/backtrace/Backtrace.h index 73a58b5ee..e07353346 100644 --- a/libbacktrace/include/backtrace/Backtrace.h +++ b/libbacktrace/include/backtrace/Backtrace.h @@ -109,7 +109,8 @@ public: virtual bool Unwind(size_t num_ignore_frames, ucontext_t* context = NULL) = 0; static bool Unwind(unwindstack::Regs* regs, BacktraceMap* back_map, - std::vector<backtrace_frame_data_t>* frames, size_t num_ignore_frames); + std::vector<backtrace_frame_data_t>* frames, size_t num_ignore_frames, + std::vector<std::string>* skip_names); // Get the function name and offset into the function given the pc. // If the string is empty, then no valid function name was found, |