diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-29 23:22:21 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-29 23:22:21 +0000 |
commit | 6e645acef835f3e685b227c5d3028930523e4535 (patch) | |
tree | ca23e5a04b4e10f32b624bcf61366c925485a6dc | |
parent | d5cc0508904536ff281db13c6a43eba6d1a043f6 (diff) | |
parent | f4ecefbc6a4a10060f3e9a6fd4aa4576f91eb0c4 (diff) | |
download | unwinding-android14-d1-release.tar.gz |
Snap for 10582327 from f4ecefbc6a4a10060f3e9a6fd4aa4576f91eb0c4 to udc-d1-releaseandroid-14.0.0_r9android-14.0.0_r8android-14.0.0_r7android-14.0.0_r6android-14.0.0_r5android-14.0.0_r4android-14.0.0_r3android-14.0.0_r12android-14.0.0_r11android-14.0.0_r10android14-d1-s7-releaseandroid14-d1-s6-releaseandroid14-d1-s5-releaseandroid14-d1-s4-releaseandroid14-d1-s3-releaseandroid14-d1-s2-releaseandroid14-d1-s1-releaseandroid14-d1-release
Change-Id: Ie0d915099923d607a82127d8e4c3b53cacab2692
-rw-r--r-- | libunwindstack/Unwinder.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/libunwindstack/Unwinder.cpp b/libunwindstack/Unwinder.cpp index 7304000..115a265 100644 --- a/libunwindstack/Unwinder.cpp +++ b/libunwindstack/Unwinder.cpp @@ -389,13 +389,17 @@ bool UnwinderFromPid::Init() { } } - jit_debug_ptr_ = CreateJitDebug(arch_, process_memory_); - jit_debug_ = jit_debug_ptr_.get(); - SetJitDebug(jit_debug_); + // jit_debug_ and dex_files_ may have already been set, for example in + // AndroidLocalUnwinder::InternalUnwind. + if (jit_debug_ == nullptr) { + jit_debug_ptr_ = CreateJitDebug(arch_, process_memory_); + SetJitDebug(jit_debug_ptr_.get()); + } #if defined(DEXFILE_SUPPORT) - dex_files_ptr_ = CreateDexFiles(arch_, process_memory_); - dex_files_ = dex_files_ptr_.get(); - SetDexFiles(dex_files_); + if (dex_files_ == nullptr) { + dex_files_ptr_ = CreateDexFiles(arch_, process_memory_); + SetDexFiles(dex_files_ptr_.get()); + } #endif return true; |