Lines Matching refs:backtrace
265 Backtrace* backtrace, log_t* log, uintptr_t* sp, size_t words, int label) { in dump_stack_segment() argument
268 …size_t bytes_read = backtrace->Read(*sp, reinterpret_cast<uint8_t*>(&stack_data[0]), sizeof(word_t… in dump_stack_segment()
282 backtrace->FillInMap(stack_data[i], &map); in dump_stack_segment()
286 std::string func_name(backtrace->GetFunctionName(stack_data[i], &offset, &map)); in dump_stack_segment()
301 static void dump_stack(Backtrace* backtrace, log_t* log) { in dump_stack() argument
303 for (size_t i = 0; i < backtrace->NumFrames(); i++) { in dump_stack()
304 const backtrace_frame_data_t* frame = backtrace->GetFrame(i); in dump_stack()
318 word_t sp = backtrace->GetFrame(first)->sp - STACK_WORDS * sizeof(word_t); in dump_stack()
319 dump_stack_segment(backtrace, log, &sp, STACK_WORDS, -1); in dump_stack()
324 const backtrace_frame_data_t* frame = backtrace->GetFrame(i); in dump_stack()
330 dump_stack_segment(backtrace, log, &sp, STACK_WORDS, i); in dump_stack()
341 dump_stack_segment(backtrace, log, &sp, words, i); in dump_stack()
358 static void dump_abort_message(Backtrace* backtrace, log_t* log, uintptr_t address) { in dump_abort_message() argument
371 if (!backtrace->ReadWord(address, &data)) { in dump_abort_message()
385 static void dump_all_maps(Backtrace* backtrace, BacktraceMap* map, log_t* log, pid_t tid) { in dump_all_maps() argument
445 if ((it->flags & PROT_READ) && elf_get_build_id(backtrace, it->start, &build_id)) { in dump_all_maps()
463 static void dump_backtrace_and_stack(Backtrace* backtrace, log_t* log) { in dump_backtrace_and_stack() argument
464 if (backtrace->NumFrames()) { in dump_backtrace_and_stack()
466 dump_backtrace_to_log(backtrace, log, " "); in dump_backtrace_and_stack()
469 dump_stack(backtrace, log); in dump_backtrace_and_stack()
488 std::unique_ptr<Backtrace> backtrace(Backtrace::Create(pid, tid, map)); in dump_thread() local
490 dump_abort_message(backtrace.get(), log, abort_msg_address); in dump_thread()
493 if (backtrace->Unwind(0)) { in dump_thread()
494 dump_backtrace_and_stack(backtrace.get(), log); in dump_thread()
500 dump_memory_and_code(log, backtrace.get()); in dump_thread()
502 dump_all_maps(backtrace.get(), map, log, tid); in dump_thread()
762 std::unique_ptr<Backtrace> backtrace(Backtrace::Create(pid, tid)); in engrave_tombstone_ucontext() local
763 dump_abort_message(backtrace.get(), &log, abort_msg_address); in engrave_tombstone_ucontext()
767 if (backtrace->Unwind(0, ucontext)) { in engrave_tombstone_ucontext()
768 dump_backtrace_and_stack(backtrace.get(), &log); in engrave_tombstone_ucontext()