const backtrace_t* backtrace_get_data(backtrace_context_t* context) { if (context && context->data) { Backtrace* backtrace = reinterpret_cast<Backtrace*>(context->data); return backtrace->GetBacktrace(); } return NULL; }
//------------------------------------------------------------------------- // Common interface functions. //------------------------------------------------------------------------- bool backtrace_create_context_with_map( backtrace_context_t* context, pid_t pid, pid_t tid, size_t num_ignore_frames, backtrace_map_info_t* map_info) { Backtrace* backtrace = Backtrace::Create(pid, tid, map_info); if (!backtrace) { return false; } if (!backtrace->Unwind(num_ignore_frames)) { delete backtrace; return false; } context->data = backtrace; context->backtrace = backtrace->GetBacktrace(); return true; }