/system/unwinding/libunwindstack/tests/ |
D | UnwindOfflineTest.cpp | 75 Unwinder unwinder = in ConsecutiveUnwindTest() local 79 unwinder.SetJitDebug(offline_utils_.GetJitDebug(sample_name)); in ConsecutiveUnwindTest() 81 unwinder.Unwind(); in ConsecutiveUnwindTest() 90 std::string actual_frame_info = DumpFrames(unwinder); in ConsecutiveUnwindTest() 91 ASSERT_EQ(expected_num_frames, unwinder.NumFrames()) << "Unwind:\n" << actual_frame_info; in ConsecutiveUnwindTest() 118 Unwinder unwinder(128, offline_utils_.GetMaps(), regs, offline_utils_.GetProcessMemory()); in TEST_F() local 119 unwinder.Unwind(); in TEST_F() 126 std::string frame_info(DumpFrames(unwinder)); in TEST_F() 127 ASSERT_EQ(expected_num_frames, unwinder.NumFrames()) << "Unwind:\n" << frame_info; in TEST_F() 129 EXPECT_EQ(0xf31ea9f8U, unwinder.frames()[0].pc); in TEST_F() [all …]
|
D | UnwindTest.cpp | 108 static std::string ErrorMsg(const std::vector<const char*>& function_names, Unwinder* unwinder) { in ErrorMsg() argument 110 for (size_t i = 0; i < unwinder->NumFrames(); i++) { in ErrorMsg() 111 unwind += unwinder->FormatFrame(i) + '\n'; in ErrorMsg() 117 unwinder->LastErrorCodeString() + "\n" + in ErrorMsg() 121 static void VerifyUnwindFrames(Unwinder* unwinder, in VerifyUnwindFrames() argument 123 for (auto& frame : unwinder->frames()) { in VerifyUnwindFrames() 132 ASSERT_TRUE(expected_function_names.empty()) << ErrorMsg(expected_function_names, unwinder); in VerifyUnwindFrames() 135 for (auto& frame : unwinder->frames()) { in VerifyUnwindFrames() 143 static void VerifyUnwind(Unwinder* unwinder, std::vector<const char*> expected_function_names) { in VerifyUnwind() argument 144 unwinder->Unwind(); in VerifyUnwind() [all …]
|
D | AndroidUnwinderTest.cpp | 63 static std::string GetBacktrace(AndroidUnwinder& unwinder, std::vector<FrameData>& frames) { in GetBacktrace() argument 66 backtrace_str += unwinder.FormatFrame(frame) + '\n'; in GetBacktrace() 109 AndroidLocalUnwinder unwinder; in TEST_F() local 113 EXPECT_FALSE(unwinder.Unwind(ucontext, data)); in TEST_F() 116 EXPECT_FALSE(unwinder.Unwind(regs.get(), data)); in TEST_F() 125 EXPECT_FALSE(unwinder.Unwind(regs.get(), data)); in TEST_F() 131 std::unique_ptr<AndroidUnwinder> unwinder(AndroidUnwinder::Create(getpid())); in TEST_F() local 133 ASSERT_TRUE(unwinder->Unwind(data)); in TEST_F() 135 ForkAndWaitForPidState([this, &unwinder]() { in TEST_F() 137 unwinder.reset(AndroidUnwinder::Create(pid_)); in TEST_F() [all …]
|
D | UnwinderTest.cpp | 207 Unwinder unwinder(64, maps_.get(), ®s_, process_memory_); in TEST_F() local 208 unwinder.Unwind(); in TEST_F() 209 EXPECT_EQ(ERROR_NONE, unwinder.LastErrorCode()); in TEST_F() 210 EXPECT_EQ(WARNING_NONE, unwinder.warnings()); in TEST_F() 212 ASSERT_EQ(3U, unwinder.NumFrames()); in TEST_F() 214 auto* frame = &unwinder.frames()[0]; in TEST_F() 231 frame = &unwinder.frames()[1]; in TEST_F() 248 frame = &unwinder.frames()[2]; in TEST_F() 277 Unwinder unwinder(64, maps_.get(), ®s_, process_memory_); in TEST_F() local 278 unwinder.SetResolveNames(false); in TEST_F() [all …]
|
D | VerifyBionicTerminationTest.cpp | 42 static std::string DumpFrames(const AndroidUnwinderData& data, AndroidUnwinder& unwinder) { in DumpFrames() argument 46 unwind += unwinder.FormatFrame(frame) + '\n'; in DumpFrames() 98 static void VerifyLibcInitTerminate(AndroidUnwinder& unwinder) { in VerifyLibcInitTerminate() argument 100 ASSERT_TRUE(unwinder.Unwind(data)); in VerifyLibcInitTerminate() 102 SCOPED_TRACE(DumpFrames(data, unwinder)); in VerifyLibcInitTerminate() 122 AndroidLocalUnwinder unwinder; in TEST_F() local 123 VerifyLibcInitTerminate(unwinder); in TEST_F() 129 AndroidRemoteUnwinder unwinder(pid_); in TEST_F() local 130 VerifyLibcInitTerminate(unwinder); in TEST_F()
|
/system/unwinding/libunwindstack/tests/fuzz/ |
D | UnwinderFuzz.cpp | 35 void PerformUnwind(FuzzedDataProvider* data_provider, Unwinder* unwinder) { in PerformUnwind() argument 42 unwinder->Unwind(); in PerformUnwind() 48 unwinder->Unwind(&skip_names, nullptr); in PerformUnwind() 54 unwinder->Unwind(nullptr, &ignore_suffixes); in PerformUnwind() 62 unwinder->Unwind(&skip_names, &ignore_suffixes); in PerformUnwind() 87 Unwinder unwinder(max_frames, maps.get(), regs.get(), memory); in LLVMFuzzerTestOneInput() local 88 unwinder.SetJitDebug(jit_debug_ptr.get()); in LLVMFuzzerTestOneInput() 89 unwinder.SetResolveNames(data_provider.ConsumeBool()); in LLVMFuzzerTestOneInput() 91 PerformUnwind(&data_provider, &unwinder); in LLVMFuzzerTestOneInput() 95 unwinder.BuildFrameFromPcOnly(pc); in LLVMFuzzerTestOneInput() [all …]
|
/system/unwinding/libunwindstack/offline_files/apk_soname_at_end_arm64/ |
D | maps.txt | 1 580e17c000-580e17d000 r--p 0 00:00 0 unwinder 2 580e17d000-580e17e000 r-xp 1000 00:00 0 unwinder 3 7c0064a000-7c0064b000 r--p a000 00:00 0 unwinder.apk 4 7c0064b000-7c0064c000 r-xp b000 00:00 0 unwinder.apk
|
D | output.txt | 1 #00 pc 000000000000113c unwinder.apk!libunwindstack_local.so (offset 0xa000) (WaitForever+60) 2 #01 pc 00000000000010f0 unwinder (main+144)
|
/system/unwinding/libunwindstack/ |
D | AndroidUnwinder.cpp | 168 Unwinder unwinder(data.max_frames.value_or(max_frames_), maps_.get(), regs.get(), in Unwind() local 170 unwinder.SetJitDebug(jit_debug_.get()); in Unwind() 171 unwinder.SetDexFiles(dex_files_.get()); in Unwind() 172 unwinder.Unwind(data.show_all_frames ? nullptr : &initial_map_names_to_skip_, in Unwind() 174 data.frames = unwinder.ConsumeFrames(); in Unwind() 175 data.error = unwinder.LastError(); in Unwind() 191 ThreadUnwinder unwinder(data.max_frames.value_or(max_frames_), maps_.get(), process_memory_); in InternalUnwind() local 192 unwinder.SetJitDebug(jit_debug_.get()); in InternalUnwind() 193 unwinder.SetDexFiles(dex_files_.get()); in InternalUnwind() 198 unwinder.UnwindWithSignal(kThreadUnwindSignal, *tid, initial_regs, in InternalUnwind() [all …]
|
D | ThreadUnwinder.cpp | 77 ThreadUnwinder::ThreadUnwinder(size_t max_frames, const ThreadUnwinder* unwinder) in ThreadUnwinder() argument 79 process_memory_ = unwinder->process_memory_; in ThreadUnwinder() 80 maps_ = unwinder->maps_; in ThreadUnwinder() 81 jit_debug_ = unwinder->jit_debug_; in ThreadUnwinder() 82 dex_files_ = unwinder->dex_files_; in ThreadUnwinder() 83 initted_ = unwinder->initted_; in ThreadUnwinder()
|
/system/unwinding/libunwindstack/benchmarks/ |
D | local_unwind_benchmarks.cpp | 73 unwindstack::Unwinder unwinder(kMaxFrames, data->maps, regs.get(), data->process_memory); in Unwind() local 74 unwinder.SetResolveNames(data->resolve_names); in Unwind() 75 unwinder.Unwind(); in Unwind() 76 return unwinder.NumFrames(); in Unwind() 105 unwindstack::AndroidLocalUnwinder unwinder(process_memory); in BM_local_android_unwind_uncached_process_memory() local 107 if (!unwinder.Initialize(error)) { in BM_local_android_unwind_uncached_process_memory() 114 unwindstack::AndroidLocalUnwinder* unwinder = in BM_local_android_unwind_uncached_process_memory() local 117 unwinder->Unwind(data); in BM_local_android_unwind_uncached_process_memory() 120 &unwinder) < 5) { in BM_local_android_unwind_uncached_process_memory() 129 unwindstack::AndroidLocalUnwinder unwinder(process_memory); in BM_local_android_unwind_cached_process_memory() local [all …]
|
D | remote_unwind_benchmarks.cpp | 116 unwindstack::Unwinder unwinder(32, &maps, regs.get(), process_memory); in RemoteUnwind() local 117 unwinder.Unwind(); in RemoteUnwind() 118 if (unwinder.NumFrames() < 5) { in RemoteUnwind() 149 unwindstack::AndroidRemoteUnwinder unwinder(pid, process_memory); in RemoteAndroidUnwind() local 151 if (!unwinder.Initialize(error)) { in RemoteAndroidUnwind() 157 if (!unwinder.Unwind(data) || data.frames.size() < 5) { in RemoteAndroidUnwind()
|
D | thread_unwind_benchmarks.cpp | 68 unwindstack::ThreadUnwinder unwinder(kMaxFrames); in BM_thread_unwind() local 69 if (!unwinder.Init()) { in BM_thread_unwind() 74 unwinder.UnwindWithSignal(SIGRTMIN, tid.load()); in BM_thread_unwind() 75 if (unwinder.NumFrames() < 5) { in BM_thread_unwind()
|
D | OfflineUnwindBenchmarks.cpp | 137 Unwinder unwinder(128, offline_utils_.GetMaps(sample_name), in BenchmarkOfflineUnwindMultipleSamples() local 141 unwinder.SetJitDebug(offline_utils_.GetJitDebug(sample_name)); in BenchmarkOfflineUnwindMultipleSamples() 143 unwinder.SetResolveNames(resolve_names_); in BenchmarkOfflineUnwindMultipleSamples() 144 unwinder.Unwind(); in BenchmarkOfflineUnwindMultipleSamples() 152 if (unwinder.NumFrames() != expected_num_frames) { in BenchmarkOfflineUnwindMultipleSamples() 156 << unwinder.NumFrames() << " frames. Unwind:\n" in BenchmarkOfflineUnwindMultipleSamples() 157 << DumpFrames(unwinder); in BenchmarkOfflineUnwindMultipleSamples()
|
/system/unwinding/libunwindstack/tools/ |
D | unwind.cpp | 89 unwindstack::UnwinderFromPid unwinder(1024, pid); in DoUnwind() local 90 unwinder.SetRegs(regs); in DoUnwind() 91 unwinder.Unwind(); in DoUnwind() 94 for (size_t i = 0; i < unwinder.NumFrames(); i++) { in DoUnwind() 95 printf("%s\n", unwinder.FormatFrame(i).c_str()); in DoUnwind()
|
/system/core/debuggerd/libdebuggerd/ |
D | backtrace.cpp | 61 void dump_backtrace_thread(int output_fd, unwindstack::AndroidUnwinder* unwinder, in dump_backtrace_thread() argument 70 if (!unwinder->Unwind(thread.registers.get(), data)) { in dump_backtrace_thread() 76 log_backtrace(&log, unwinder, data, " "); in dump_backtrace_thread() 79 void dump_backtrace(android::base::unique_fd output_fd, unwindstack::AndroidUnwinder* unwinder, in dump_backtrace() argument 93 dump_backtrace_thread(output_fd.get(), unwinder, target->second); in dump_backtrace() 96 dump_backtrace_thread(output_fd.get(), unwinder, info); in dump_backtrace()
|
D | tombstone_proto.cpp | 205 static void dump_probable_cause(Tombstone* tombstone, unwindstack::AndroidUnwinder* unwinder, in dump_probable_cause() argument 208 ScudoCrashData scudo_crash_data(unwinder->GetProcessMemory().get(), process_info); in dump_probable_cause() 210 scudo_crash_data.AddCauseProtos(tombstone, unwinder); in dump_probable_cause() 215 GwpAsanCrashData gwp_asan_crash_data(unwinder->GetProcessMemory().get(), process_info, in dump_probable_cause() 218 gwp_asan_crash_data.AddCauseProtos(tombstone, unwinder); in dump_probable_cause() 224 unwindstack::Maps* maps = unwinder->GetMaps(); in dump_probable_cause() 404 static void dump_registers(unwindstack::AndroidUnwinder* unwinder, in dump_registers() argument 411 unwindstack::Maps* maps = unwinder->GetMaps(); in dump_registers() 412 unwindstack::Memory* memory = unwinder->GetProcessMemory().get(); in dump_registers() 484 static void dump_thread(Tombstone* tombstone, unwindstack::AndroidUnwinder* unwinder, in dump_thread() argument [all …]
|
D | tombstone.cpp | 110 unwindstack::AndroidLocalUnwinder unwinder(process_memory); in engrave_tombstone_ucontext() local 112 if (!unwinder.Initialize(error)) { in engrave_tombstone_ucontext() 120 engrave_tombstone(unique_fd(dup(tombstone_fd)), unique_fd(dup(proto_fd)), &unwinder, threads, in engrave_tombstone_ucontext() 125 unwindstack::AndroidUnwinder* unwinder, in engrave_tombstone() argument 132 engrave_tombstone_proto(&tombstone, unwinder, threads, target_thread, process_info, open_files, in engrave_tombstone()
|
D | scudo.cpp | 96 unwindstack::AndroidUnwinder* unwinder) const { in FillInCause() 121 unwindstack::FrameData frame_data = unwinder->BuildFrameFromPcOnly(report->allocation_trace[i]); in FillInCause() 130 unwinder->BuildFrameFromPcOnly(report->deallocation_trace[i]); in FillInCause() 139 unwindstack::AndroidUnwinder* unwinder) const { in AddCauseProtos() 143 FillInCause(tombstone->add_causes(), &error_info_.reports[report_num++], unwinder); in AddCauseProtos()
|
/system/core/debuggerd/libdebuggerd/include/libdebuggerd/ |
D | backtrace.h | 38 void dump_backtrace(android::base::unique_fd output_fd, unwindstack::AndroidUnwinder* unwinder, 42 void dump_backtrace_thread(int output_fd, unwindstack::AndroidUnwinder* unwinder,
|
D | scudo.h | 45 void AddCauseProtos(Tombstone* tombstone, unwindstack::AndroidUnwinder* unwinder) const; 52 unwindstack::AndroidUnwinder* unwinder) const;
|
D | tombstone.h | 55 unwindstack::AndroidUnwinder* unwinder, 64 void engrave_tombstone_proto(Tombstone* tombstone, unwindstack::AndroidUnwinder* unwinder,
|
/system/core/libutils/ |
D | CallStack.cpp | 48 unwindstack::AndroidLocalUnwinder unwinder; in update() local 54 if (!unwinder.Unwind(tid_val, data)) { in update() 60 mFrameLines.push_back(String8(unwinder.FormatFrame(frame).c_str())); in update()
|
/system/unwinding/libunwindstack/utils/ |
D | ProcessTracer.cpp | 198 UnwinderFromPid unwinder(1024, pid); in ProcIsInDesiredElf() local 199 unwinder.SetRegs(regs.get()); in ProcIsInDesiredElf() 200 if (!unwinder.Init()) { in ProcIsInDesiredElf() 204 Maps* maps = unwinder.GetMaps(); in ProcIsInDesiredElf()
|
/system/extras/simpleperf/ |
D | OfflineUnwinder_test.cpp | 109 std::unique_ptr<OfflineUnwinderImpl> unwinder(new OfflineUnwinderImpl(false)); in TEST() local 110 unwinder->LoadMetaInfo(info_map); in TEST() 114 unwindstack::Regs* regs = unwinder->GetBacktraceRegs(fake_regs); in TEST()
|