/system/core/debuggerd/libdebuggerd/ |
D | tombstone.cpp | 118 static void dump_signal_info(log_t* log, const ThreadInfo& thread_info, in dump_signal_info() argument 121 if (signal_has_si_addr(thread_info.siginfo)) { in dump_signal_info() 122 void* addr = thread_info.siginfo->si_addr; in dump_signal_info() 123 if (thread_info.siginfo->si_signo == SIGILL) { in dump_signal_info() 135 if (signal_has_sender(thread_info.siginfo, thread_info.pid)) { in dump_signal_info() 136 get_signal_sender(sender_desc, sizeof(sender_desc), thread_info.siginfo); in dump_signal_info() 140 thread_info.siginfo->si_signo, get_signame(thread_info.siginfo), in dump_signal_info() 141 thread_info.siginfo->si_code, get_sigcode(thread_info.siginfo), sender_desc, addr_desc); in dump_signal_info() 144 static void dump_thread_info(log_t* log, const ThreadInfo& thread_info) { in dump_thread_info() argument 147 if (thread_info.thread_name == "logd" || in dump_thread_info() [all …]
|
D | backtrace.cpp | 81 const std::map<pid_t, ThreadInfo>& thread_info, pid_t target_thread) { in dump_backtrace() argument 86 auto target = thread_info.find(target_thread); in dump_backtrace() 87 if (target == thread_info.end()) { in dump_backtrace() 95 for (const auto& [tid, info] : thread_info) { in dump_backtrace()
|
/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 == DEBUGGER_SIGNAL && 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 354 {.iov_base = thread_info->siginfo, .iov_len = sizeof(siginfo_t)}, in debuggerd_dispatch_pseudothread() 355 {.iov_base = thread_info->ucontext, .iov_len = sizeof(ucontext_t)}, in debuggerd_dispatch_pseudothread() 356 {.iov_base = &thread_info->abort_msg, .iov_len = sizeof(uintptr_t)}, in debuggerd_dispatch_pseudothread() 357 {.iov_base = &thread_info->fdsan_table, .iov_len = sizeof(uintptr_t)}, in debuggerd_dispatch_pseudothread() 385 async_safe_format_buffer(main_tid, sizeof(main_tid), "%d", thread_info->crashing_tid); in debuggerd_dispatch_pseudothread() 387 thread_info->pseudothread_tid); in debuggerd_dispatch_pseudothread() [all …]
|
/system/core/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/core/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 | 298 allocator::vector<ThreadInfo> thread_info(heap); in GetUnreachableMemory() local 309 if (!thread_capture.CapturedThreadInfo(thread_info)) { in GetUnreachableMemory() 350 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 | tombstone.h | 56 const std::map<pid_t, ThreadInfo>& thread_info, pid_t target_thread,
|
/system/core/debuggerd/ |
D | crash_dump.cpp | 446 std::map<pid_t, ThreadInfo> thread_info; in main() local 491 thread_info[thread] = std::move(info); in main() 519 for (const auto& [tid, thread] : thread_info) { in main() 584 dump_backtrace(std::move(g_output_fd), &unwinder, thread_info, g_target_thread); in main() 593 engrave_tombstone(std::move(g_output_fd), &unwinder, thread_info, g_target_thread, in main() 600 if (thread_info[target_process].thread_name != "system_server") { in main()
|