Documentation ¶
Index ¶
- func Extract(filename string, interval *sdtypes.IntervalData) error
- func ExtractELF(elfRef *pfelf.Reference, interval *sdtypes.IntervalData) error
- func IsGo118orNewer(magic uint32) bool
- func NewStackDeltaProvider() nativeunwind.StackDeltaProvider
- func PclntabHeaderSize() int
- func SearchGoPclntab(ef *pfelf.File) ([]byte, error)
- type ELFStackDeltaProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Extract ¶
func Extract(filename string, interval *sdtypes.IntervalData) error
Extract takes a filename for a modern ELF file that is accessible and provides the stack delta intervals in the interval parameter
func ExtractELF ¶
func ExtractELF(elfRef *pfelf.Reference, interval *sdtypes.IntervalData) error
ExtractELF takes a pfelf.Reference and provides the stack delta intervals for it in the interval parameter.
func IsGo118orNewer ¶
IsGo118orNewer returns true if magic matches with the Go 1.18 or newer.
func NewStackDeltaProvider ¶
func NewStackDeltaProvider() nativeunwind.StackDeltaProvider
NewStackDeltaProvider creates a stack delta provider using the ELF eh_frame extraction.
func PclntabHeaderSize ¶
func PclntabHeaderSize() int
PclntabHeaderSize returns the minimal pclntab header size.
Types ¶
type ELFStackDeltaProvider ¶
type ELFStackDeltaProvider struct {
// contains filtered or unexported fields
}
ELFStackDeltaProvider extracts stack deltas from ELF executables available via the pfelf.File interface.
func (*ELFStackDeltaProvider) GetAndResetStatistics ¶
func (provider *ELFStackDeltaProvider) GetAndResetStatistics() nativeunwind.Statistics
func (*ELFStackDeltaProvider) GetIntervalStructuresForFile ¶
func (provider *ELFStackDeltaProvider) GetIntervalStructuresForFile(_ host.FileID, elfRef *pfelf.Reference, interval *sdtypes.IntervalData) error
GetIntervalStructuresForFile builds the stack delta information for a single executable.