/system/core/debuggerd/libdebuggerd/ |
D | tombstone.cpp | 153 static void dump_signal_info(log_t* log, const ThreadInfo& thread_info, in dump_signal_info() argument 160 if (thread_info.siginfo->si_signo == SIGILL) { in dump_signal_info() 172 if (signal_has_sender(thread_info.siginfo, thread_info.pid)) { in dump_signal_info() 173 get_signal_sender(sender_desc, sizeof(sender_desc), thread_info.siginfo); in dump_signal_info() 177 thread_info.siginfo->si_signo, get_signame(thread_info.siginfo), in dump_signal_info() 178 thread_info.siginfo->si_code, get_sigcode(thread_info.siginfo), sender_desc, addr_desc); in dump_signal_info() 181 static void dump_thread_info(log_t* log, const ThreadInfo& thread_info) { in dump_thread_info() argument 183 if (thread_info.uid == AID_LOGD) log->should_retrieve_logcat = false; in dump_thread_info() 186 if (!thread_info.command_line.empty()) { in dump_thread_info() 187 process_name = thread_info.command_line[0].c_str(); in dump_thread_info() [all …]
|
D | backtrace.cpp | 83 const std::map<pid_t, ThreadInfo>& thread_info, pid_t target_thread) { in dump_backtrace() argument 88 auto target = thread_info.find(target_thread); in dump_backtrace() 89 if (target == thread_info.end()) { in dump_backtrace() 97 for (const auto& [tid, info] : thread_info) { in dump_backtrace()
|
D | tombstone_proto.cpp | 339 const ThreadInfo& thread_info, bool memory_dump = false) { in dump_thread() argument 342 thread.set_id(thread_info.tid); in dump_thread() 343 thread.set_name(thread_info.thread_name); in dump_thread() 344 thread.set_tagged_addr_ctrl(thread_info.tagged_addr_ctrl); in dump_thread() 349 thread_info.registers->IterateRegisters( in dump_thread() 400 std::unique_ptr<unwindstack::Regs> regs_copy(thread_info.registers->Clone()); in dump_thread() 429 threads[thread_info.tid] = thread; in dump_thread() 433 const ThreadInfo& thread_info) { in dump_main_thread() argument 434 dump_thread(tombstone, unwinder, thread_info, true); in dump_main_thread() 666 for (const auto& [tid, thread_info] : threads) { in engrave_tombstone_proto() [all …]
|
D | gwp_asan.cpp | 69 const ProcessInfo& process_info, const ThreadInfo& thread_info) { in GwpAsanCrashData() argument 86 thread_id_ = thread_info.tid; in GwpAsanCrashData()
|
/system/core/debuggerd/handler/ |
D | debuggerd_handler.cpp | 309 static DebuggerdDumpType get_dump_type(const debugger_thread_info* thread_info) { in get_dump_type() argument 310 if (thread_info->siginfo->si_signo == BIONIC_SIGNAL_DEBUGGER && in get_dump_type() 311 thread_info->siginfo->si_value.sival_int) { in get_dump_type() 319 debugger_thread_info* thread_info = static_cast<debugger_thread_info*>(arg); in debuggerd_dispatch_pseudothread() local 349 {.iov_base = thread_info->siginfo, .iov_len = sizeof(siginfo_t)}, in debuggerd_dispatch_pseudothread() 350 {.iov_base = thread_info->ucontext, .iov_len = sizeof(ucontext_t)}, in debuggerd_dispatch_pseudothread() 353 if (thread_info->process_info.fdsan_table) { in debuggerd_dispatch_pseudothread() 359 iovs[3] = {.iov_base = &thread_info->process_info, in debuggerd_dispatch_pseudothread() 360 .iov_len = sizeof(thread_info->process_info)}; in debuggerd_dispatch_pseudothread() 366 iovs[3] = {.iov_base = &thread_info->process_info.abort_msg, .iov_len = sizeof(uintptr_t)}; in debuggerd_dispatch_pseudothread() [all …]
|
/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 | 307 allocator::vector<ThreadInfo> thread_info(heap); in GetUnreachableMemory() local 318 if (!thread_capture.CapturedThreadInfo(thread_info)) { in GetUnreachableMemory() 359 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 | 45 const ThreadInfo& thread_info);
|
D | tombstone.h | 56 const std::map<pid_t, ThreadInfo>& thread_info, pid_t target_thread,
|
/system/core/debuggerd/ |
D | crash_dump.cpp | 468 std::map<pid_t, ThreadInfo> thread_info; in main() local 527 thread_info[thread] = std::move(info); in main() 557 for (const auto& [tid, thread] : thread_info) { in main() 622 dump_backtrace(std::move(g_output_fd), &unwinder, thread_info, g_target_thread); in main() 632 engrave_tombstone(std::move(g_output_fd), std::move(g_proto_fd), &unwinder, thread_info, in main() 639 if (thread_info[target_process].thread_name != "system_server") { in main()
|