/system/core/debuggerd/handler/ |
D | debuggerd_handler.cpp | 332 static DebuggerdDumpType get_dump_type(const debugger_thread_info* thread_info) { in get_dump_type() argument 333 if (thread_info->siginfo->si_signo == BIONIC_SIGNAL_DEBUGGER && in get_dump_type() 334 thread_info->siginfo->si_value.sival_int) { in get_dump_type() 342 debugger_thread_info* thread_info = static_cast<debugger_thread_info*>(arg); in debuggerd_dispatch_pseudothread() local 372 {.iov_base = thread_info->siginfo, .iov_len = sizeof(siginfo_t)}, in debuggerd_dispatch_pseudothread() 373 {.iov_base = thread_info->ucontext, .iov_len = sizeof(ucontext_t)}, in debuggerd_dispatch_pseudothread() 378 if (thread_info->process_info.fdsan_table) { in debuggerd_dispatch_pseudothread() 385 kHeaderSize + sizeof(thread_info->process_info), in debuggerd_dispatch_pseudothread() 401 iovs[3] = {.iov_base = &thread_info->process_info, in debuggerd_dispatch_pseudothread() 402 .iov_len = sizeof(thread_info->process_info)}; in debuggerd_dispatch_pseudothread() [all …]
|
/system/core/debuggerd/libdebuggerd/ |
D | backtrace.cpp | 80 const std::map<pid_t, ThreadInfo>& thread_info, pid_t target_thread) { in dump_backtrace() argument 85 auto target = thread_info.find(target_thread); in dump_backtrace() 86 if (target == thread_info.end()) { in dump_backtrace() 94 for (const auto& [tid, info] : thread_info) { in dump_backtrace()
|
D | tombstone_proto.cpp | 438 const ThreadInfo& thread_info, bool memory_dump = false) { in dump_thread() argument 441 thread.set_id(thread_info.tid); in dump_thread() 442 thread.set_name(thread_info.thread_name); in dump_thread() 443 thread.set_tagged_addr_ctrl(thread_info.tagged_addr_ctrl); in dump_thread() 444 thread.set_pac_enabled_keys(thread_info.pac_enabled_keys); in dump_thread() 450 if (thread_info.registers != nullptr) { in dump_thread() 451 unwind_ret = unwinder->Unwind(thread_info.registers.get(), data); in dump_thread() 453 unwind_ret = unwinder->Unwind(thread_info.tid, data); in dump_thread() 457 thread_info.tid, data.GetErrorString().c_str()); in dump_thread() 464 threads[thread_info.tid] = thread; in dump_thread() [all …]
|
D | gwp_asan.cpp | 71 const ProcessInfo& process_info, const ThreadInfo& thread_info) { in GwpAsanCrashData() argument 88 thread_id_ = thread_info.tid; in GwpAsanCrashData()
|
/system/memory/libmemunreachable/tests/ |
D | ThreadCapture_test.cpp | 236 auto thread_info = allocator::vector<ThreadInfo>(heap); in TEST_P() local 237 ASSERT_TRUE(thread_capture.CapturedThreadInfo(thread_info)); in TEST_P() 238 ASSERT_EQ(threads, thread_info.size()); in TEST_P() 334 auto thread_info = allocator::vector<ThreadInfo>(heap); in TEST_F() local 335 ASSERT_TRUE(thread_capture.CapturedThreadInfo(thread_info)); in TEST_F() 336 ASSERT_EQ(1U, thread_info.size()); in TEST_F()
|
/system/memory/libmemunreachable/ |
D | ThreadCapture.cpp | 90 bool PtraceThreadInfo(pid_t tid, ThreadInfo& thread_info); 211 bool ThreadCaptureImpl::PtraceThreadInfo(pid_t tid, ThreadInfo& thread_info) { in PtraceThreadInfo() argument 212 thread_info.tid = tid; in PtraceThreadInfo() 226 thread_info.regs.assign(®s[0], ®s[num_regs]); in PtraceThreadInfo() 246 thread_info.stack = std::pair<uintptr_t, uintptr_t>(regs[sp], 0); in PtraceThreadInfo()
|
D | MemUnreachable.cpp | 321 allocator::vector<ThreadInfo> thread_info(heap); in GetUnreachableMemory() local 332 if (!thread_capture.CapturedThreadInfo(thread_info)) { in GetUnreachableMemory() 382 if (!unreachable.CollectAllocations(thread_info, mappings, refs)) { in GetUnreachableMemory()
|
/system/core/debuggerd/libdebuggerd/include/libdebuggerd/ |
D | backtrace.h | 39 const std::map<pid_t, ThreadInfo>& thread_info, pid_t target_thread);
|
D | gwp_asan.h | 51 const ThreadInfo& thread_info);
|
D | tombstone.h | 55 const std::map<pid_t, ThreadInfo>& thread_info, pid_t target_thread,
|
/system/core/debuggerd/ |
D | crash_dump.cpp | 485 std::map<pid_t, ThreadInfo> thread_info; in main() local 555 thread_info[thread] = std::move(info); in main() 585 for (const auto& [tid, thread] : thread_info) { in main() 653 dump_backtrace(std::move(g_output_fd), &unwinder, thread_info, g_target_thread); in main() 663 engrave_tombstone(std::move(g_output_fd), std::move(g_proto_fd), &unwinder, thread_info, in main() 670 if (thread_info[target_process].thread_name != "system_server") { in main()
|