Lines Matching defs:tid

149 static void dump_fault_addr(log_t* log, pid_t tid, int sig)
154 if(ptrace(PTRACE_GETSIGINFO, tid, 0, &si)){
167 static void dump_thread_info(log_t* log, pid_t pid, pid_t tid, bool at_fault) {
173 snprintf(path, sizeof(path), "/proc/%d/comm", tid);
195 _LOG(log, false, "pid: %d, tid: %d, name: %s >>> %s <<<\n", pid, tid,
199 _LOG(log, true, "pid: %d, tid: %d, name: %s\n", pid, tid,
205 log_t* log, pid_t tid __attribute((unused)), bool at_fault,
220 static void dump_stack_segment(const ptrace_context_t* context, log_t* log, pid_t tid,
224 if (!try_get_word_ptrace(tid, *sp, &stack_content)) {
268 static void dump_stack(const ptrace_context_t* context, log_t* log, pid_t tid, bool at_fault,
290 dump_stack_segment(context, log, tid, only_in_tombstone, &sp, STACK_WORDS, -1);
304 dump_stack_segment(context, log, tid, only_in_tombstone, &sp, STACK_WORDS, i);
315 dump_stack_segment(context, log, tid, only_in_tombstone, &sp, words, i);
320 static void dump_backtrace_and_stack(const ptrace_context_t* context, log_t* log, pid_t tid,
323 ssize_t frames = unwind_backtrace_ptrace(tid, context, backtrace, 0, STACK_DEPTH);
325 dump_backtrace(context, log, tid, at_fault, backtrace, frames);
326 dump_stack(context, log, tid, at_fault, backtrace, frames);
330 static void dump_nearby_maps(const ptrace_context_t* context, log_t* log, pid_t tid) {
333 if (ptrace(PTRACE_GETSIGINFO, tid, 0, &si)) {
335 tid, strerror(errno));
393 static void dump_thread(const ptrace_context_t* context, log_t* log, pid_t tid, bool at_fault,
395 wait_for_stop(tid, total_sleep_time_usec);
397 dump_registers(context, log, tid, at_fault);
398 dump_backtrace_and_stack(context, log, tid, at_fault);
400 dump_memory_and_code(context, log, tid, at_fault);
401 dump_nearby_maps(context, log, tid);
407 log_t* log, pid_t pid, pid_t tid, int* total_sleep_time_usec) {
430 if (*end || new_tid == tid) {
554 timeBuf, entry->nsec / 1000000, entry->pid, entry->tid,
560 timeBuf, entry->nsec / 1000000, entry->pid, entry->tid,
600 static bool dump_crash(log_t* log, pid_t pid, pid_t tid, int signal,
612 dump_thread_info(log, pid, tid, true);
614 dump_fault_addr(log, tid, signal);
617 ptrace_context_t* context = load_ptrace_context(tid);
618 dump_thread(context, log, tid, true, total_sleep_time_usec);
626 detach_failed = dump_sibling_thread_report(context, log, pid, tid, total_sleep_time_usec);
693 char* engrave_tombstone(pid_t pid, pid_t tid, int signal,
716 *detach_failed = dump_crash(&log, pid, tid, signal, dump_sibling_threads,