Lines Matching full:symbol
245 static void init_backtrace_symbol(backtrace_symbol_t* symbol, uintptr_t pc) {
246 symbol->relative_pc = pc;
247 symbol->relative_symbol_addr = 0;
248 symbol->map_name = NULL;
249 symbol->symbol_name = NULL;
250 symbol->demangled_name = NULL;
258 backtrace_symbol_t* symbol = &backtrace_symbols[i];
259 init_backtrace_symbol(symbol, frame->absolute_pc);
263 symbol->relative_pc = frame->absolute_pc - mi->start;
265 symbol->map_name = strdup(mi->name);
269 symbol->relative_symbol_addr = (uintptr_t)info.dli_saddr
271 symbol->symbol_name = strdup(info.dli_sname);
272 symbol->demangled_name = demangle_symbol_name(symbol->symbol_name);
284 backtrace_symbol_t* symbol = &backtrace_symbols[i];
285 init_backtrace_symbol(symbol, frame->absolute_pc);
291 symbol->relative_pc = frame->absolute_pc - mi->start;
293 symbol->map_name = strdup(mi->name);
297 symbol->relative_symbol_addr = s->start;
298 symbol->symbol_name = strdup(s->name);
299 symbol->demangled_name = demangle_symbol_name(symbol->symbol_name);
306 backtrace_symbol_t* symbol = &backtrace_symbols[i];
307 free(symbol->map_name);
308 free(symbol->symbol_name);
309 free(symbol->demangled_name);
310 init_backtrace_symbol(symbol, 0);
315 const backtrace_symbol_t* symbol, char* buffer, size_t bufferSize) {
316 const char* mapName = symbol->map_name ? symbol->map_name : "<unknown>";
317 const char* symbolName = symbol->demangled_name ? symbol->demangled_name : symbol->symbol_name;
320 uint32_t pc_offset = symbol->relative_pc - symbol->relative_symbol_addr;
323 frameNumber, (unsigned int) symbol->relative_pc,
327 frameNumber, (unsigned int) symbol->relative_pc,
332 frameNumber, (unsigned int) symbol->relative_pc,