Home
last modified time | relevance | path

Searched refs:unwinder (Results 1 – 25 of 40) sorted by relevance

12

/system/unwinding/libunwindstack/tests/
DUnwindOfflineTest.cpp75 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 …]
DUnwindTest.cpp108 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 …]
DAndroidUnwinderTest.cpp63 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 …]
DUnwinderTest.cpp207 Unwinder unwinder(64, maps_.get(), &regs_, 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(), &regs_, process_memory_); in TEST_F() local
278 unwinder.SetResolveNames(false); in TEST_F()
[all …]
DVerifyBionicTerminationTest.cpp42 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/
DUnwinderFuzz.cpp35 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/
Dmaps.txt1 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
Doutput.txt1 #00 pc 000000000000113c unwinder.apk!libunwindstack_local.so (offset 0xa000) (WaitForever+60)
2 #01 pc 00000000000010f0 unwinder (main+144)
/system/unwinding/libunwindstack/
DAndroidUnwinder.cpp168 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 …]
DThreadUnwinder.cpp77 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/
Dlocal_unwind_benchmarks.cpp73 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 …]
Dremote_unwind_benchmarks.cpp116 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()
Dthread_unwind_benchmarks.cpp68 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()
DOfflineUnwindBenchmarks.cpp137 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/
Dunwind.cpp89 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/
Dbacktrace.cpp61 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()
Dtombstone_proto.cpp205 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 …]
Dtombstone.cpp110 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()
Dscudo.cpp96 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/
Dbacktrace.h38 void dump_backtrace(android::base::unique_fd output_fd, unwindstack::AndroidUnwinder* unwinder,
42 void dump_backtrace_thread(int output_fd, unwindstack::AndroidUnwinder* unwinder,
Dscudo.h45 void AddCauseProtos(Tombstone* tombstone, unwindstack::AndroidUnwinder* unwinder) const;
52 unwindstack::AndroidUnwinder* unwinder) const;
Dtombstone.h55 unwindstack::AndroidUnwinder* unwinder,
64 void engrave_tombstone_proto(Tombstone* tombstone, unwindstack::AndroidUnwinder* unwinder,
/system/core/libutils/
DCallStack.cpp48 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/
DProcessTracer.cpp198 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/
DOfflineUnwinder_test.cpp109 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()

12