demangle

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Demangler

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

Demangler demangles GCC/LLVM C++ and Rust symbol names.

Demangling is the inverse process of mangling (encoding of each unique function and parameter list combination into a unique name for the linker). With mangling the linker can tell the difference between overloaded functions (they have the same name in the source code but different parameter lists).

func NewDemangler

func NewDemangler(mode string, force bool) *Demangler

NewDemangler creates a new Demangler with a given demangler mode.

The mode can be "full", "templates" (no demangling of return types or function parameters), "simple" (no demangling of return types, no function or template parameters), and "none" (no demangling).

If force is set, overwrite any names that appear already demangled.

func (*Demangler) Demangle

func (d *Demangler) Demangle(fn *pb.Function) *pb.Function

Demangle updates the function names in a profile demangling C++ and Rust names, simplified according to demanglerMode. If force is set, overwrite any names that appear already demangled. A modified version of pprof demangler.

Jump to

Keyboard shortcuts

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