class Symbolizer

Defined at line 17 of file ../../tools/symbolizer/symbolizer.h

This is the core logic of the symbolizer. The implementation is separated from the interface here

for better testing.

Public Methods

void Reset (bool symbolizing_dart, ResetType type)

{{{reset}}}, {{{reset:begin}}}, {{{reset:end}}}

Resets the internal state and starts processing the stack trace for a new process.

symbolizing_dart indicates whether the next stack stace is from Dart. The behavior could be

slightly different for Dart and other stack traces.

void Module (uint64_t id, std::string_view name, std::string_view build_id)

{{{module:%i:%s:%s:...}}}

Adds a module to the current process, indexed by id.

void MMap (uint64_t address, uint64_t size, uint64_t module_id, std::string_view flags, uint64_t module_offset, StringOutputFn output)

{{{mmap:%p:%x:...}}}

Associates a memory region with the module indexed by its id.

void Backtrace (uint64_t frame_id, uint64_t address, AddressType type, std::string_view message, StringOutputFn output)

{{{bt:%u:%p}}}, {{{bt:%u:%p:ra}}}, {{{bt:%u:%p:pc}}}

Represents one frame in the backtrace. We'll output the symbolized content for each frame.

void DumpFile (std::string_view type, std::string_view name)

{{{dumpfile:%s:%s}}}

Dumps the current modules and mmaps to a json file.

void ~Symbolizer ()

Defined at line 29 of file ../../tools/symbolizer/symbolizer.h

Enumerations

enum AddressType
Name Value
kUnknown 0
kReturnAddress 1
kProgramCounter 2

Defined at line 19 of file ../../tools/symbolizer/symbolizer.h

enum ResetType
Name Value
kUnknown 0
kBegin 1
kEnd 2

Defined at line 24 of file ../../tools/symbolizer/symbolizer.h