symbolizer

package
v0.0.0-...-b9dd653 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2026 License: Apache-2.0 Imports: 11 Imported by: 44

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ReadRodataSymbols

func ReadRodataSymbols(bin string) (map[string][]Symbol, error)

ReadRodataSymbols returns list of rodata symbols in the binary bin.

func ReadTextSymbols

func ReadTextSymbols(bin string) (map[string][]Symbol, error)

ReadTextSymbols returns list of text symbols in the binary bin.

Types

type Cache

type Cache struct {
	// contains filtered or unexported fields
}

Cache caches symbolization results from Symbolizer in a thread-safe way.

func (*Cache) Symbolize

func (c *Cache) Symbolize(inner func(string, ...uint64) ([]Frame, error), bin string, pc uint64) ([]Frame, error)

type Frame

type Frame struct {
	PC     uint64
	Func   string
	File   string
	Line   int
	Inline bool
}

type Interner

type Interner struct {
	// contains filtered or unexported fields
}

Interner allows to intern/deduplicate strings. Interner.Do semantically returns the same string, but physically it will point to an existing string with the same contents (if there was one passed to Do in the past). Interned strings are also "cloned", that is, if the passed string points to a large buffer, it won't after interning (and won't prevent GC'ing of the large buffer). The type is not thread-safe.

func (*Interner) Do

func (in *Interner) Do(s string) string

type Symbol

type Symbol struct {
	Addr uint64
	Size int
}

type Symbolizer

type Symbolizer interface {
	Symbolize(bin string, pcs ...uint64) ([]Frame, error)
	Close()
}

func Make

func Make(target *targets.Target) Symbolizer

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL