MCPcopy Create free account
hub / github.com/rabbitstack/fibratus / Symbolizer

Struct Symbolizer

pkg/symbolize/symbolizer.go:117–144  ·  view source on GitHub ↗

Symbolizer is responsible for converting raw addresses into symbol names and modules with the assistance of the export directory or symbol resolver.

Source from the content-addressed store, hash-verified

115// into symbol names and modules with the assistance of the
116// export directory or symbol resolver.
117type Symbolizer struct {
118 config *config.Config
119 procs map[uint32]*process
120 mods map[uint32]map[va.Address]*module
121 mu sync.Mutex
122
123 // symbols stores the mapping of stack
124 // return address and the symbol information
125 // identifying the originated call. It is populated
126 // by the Debug Help API function when the module
127 // doesn't exist in process state, and in addition
128 // it is populated by each export directory symbol
129 // resolution
130 symbols map[uint32]map[va.Address]syminfo
131
132 // exps stores resolved export directories
133 exps *ExportsDirectoryCache
134
135 r Resolver
136 psnap ps.Snapshotter
137
138 cleaner *time.Ticker
139 purger *time.Ticker
140
141 quit chan struct{}
142
143 enqueue bool
144}
145
146// NewSymbolizer builds a new instance of address symbolizer.
147// It performs the initialization of symbol options, symbols

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected