line

package
v0.12.2 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2017 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DW_LNS_copy             = 1
	DW_LNS_advance_pc       = 2
	DW_LNS_advance_line     = 3
	DW_LNS_set_file         = 4
	DW_LNS_set_column       = 5
	DW_LNS_negate_stmt      = 6
	DW_LNS_set_basic_block  = 7
	DW_LNS_const_add_pc     = 8
	DW_LNS_fixed_advance_pc = 9
)

Special opcodes

View Source
const (
	DW_LINE_end_sequence = 1
	DW_LINE_set_address  = 2
	DW_LINE_define_file  = 3
)

Extended opcodes

Variables

View Source
var NoSourceError = errors.New("no source available")

Functions

This section is empty.

Types

type DebugLineInfo

type DebugLineInfo struct {
	Prologue     *DebugLinePrologue
	IncludeDirs  []string
	FileNames    []*FileEntry
	Instructions []byte
	Lookup       map[string]*FileEntry
}

type DebugLinePrologue

type DebugLinePrologue struct {
	UnitLength     uint32
	Version        uint16
	Length         uint32
	MinInstrLength uint8
	InitialIsStmt  uint8
	LineBase       int8
	LineRange      uint8
	OpcodeBase     uint8
	StdOpLengths   []uint8
}

type DebugLines

type DebugLines []*DebugLineInfo

func Parse

func Parse(data []byte) DebugLines

func (*DebugLines) AllPCsBetween

func (dbl *DebugLines) AllPCsBetween(begin, end uint64, filename string) ([]uint64, error)

func (*DebugLines) AllPCsForFileLine

func (dbl *DebugLines) AllPCsForFileLine(f string, l int) (pcs []uint64)

Returns all PCs for a given file/line. Useful for loops where the 'for' line could be split amongst 2 PCs.

func (*DebugLines) GetLineInfo

func (d *DebugLines) GetLineInfo(name string) *DebugLineInfo

type FileEntry

type FileEntry struct {
	Name        string
	DirIdx      uint64
	LastModTime uint64
	Length      uint64
}

type Location

type Location struct {
	File    string
	Line    int
	Address uint64
	Delta   int
}

type StateMachine

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

Jump to

Keyboard shortcuts

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