Documentation
¶
Index ¶
- Constants
- Variables
- func VisitPrefixOrder(n *Node, f func(*Node))
- type LLEBaseAddressX
- type LLEOffsetPair
- type LLEStartLength
- type Loclist
- type LoclistEntry
- type LoclistTable
- type Node
- func (n *Node) AbstractOrigin() *Node
- func (n *Node) ByteSize() int64
- func (n *Node) Dump(indent int)
- func (n *Node) Entry() *dwarf.Entry
- func (n *Node) FileCol() string
- func (n *Node) Location() ([]op.Operation, error)
- func (n *Node) LocationList() (*Loclist, error)
- func (n *Node) Name() string
- func (n *Node) Parent() *Node
- func (n *Node) Type() *Node
- type Tree
Constants ¶
const ( DW_LLE_end_of_list loclistDescriptorCode = 0x00 DW_LLE_base_addressx loclistDescriptorCode = 0x01 // DW_LLE_startx_endx loclistDescriptor = 0x02 // DW_LLE_startx_length loclistDescriptor = 0x03 DW_LLE_offset_pair loclistDescriptorCode = 0x04 // DW_LLE_default_location loclistDescriptor = 0x05 // DW_LLE_base_address loclistDescriptor = 0x06 // DW_LLE_start_end loclistDescriptor = 0x07 DW_LLE_start_length loclistDescriptorCode = 0x08 )
Variables ¶
var ( AttrLocation = dbgDwarf.AttrLocation AttrName = dbgDwarf.AttrName AttrInline = dbgDwarf.AttrInline AttrType = dbgDwarf.AttrType )
var ( TagVariable = dbgDwarf.TagVariable TagFormalParameter = dbgDwarf.TagFormalParameter TagSubprogram = dbgDwarf.TagSubprogram )
Functions ¶
func VisitPrefixOrder ¶
Types ¶
type LLEBaseAddressX ¶
type LLEBaseAddressX struct {
// contains filtered or unexported fields
}
type LLEOffsetPair ¶
type LLEOffsetPair struct {
// contains filtered or unexported fields
}
func (LLEOffsetPair) Ops ¶
func (d LLEOffsetPair) Ops() []op.Operation
type LLEStartLength ¶
type LLEStartLength struct {
// contains filtered or unexported fields
}
type Loclist ¶
type Loclist struct {
// contains filtered or unexported fields
}
func (*Loclist) Entries ¶
func (l *Loclist) Entries() []LoclistEntry
type LoclistEntry ¶
type LoclistEntry interface {
// contains filtered or unexported methods
}
type LoclistTable ¶
type LoclistTable struct {
// contains filtered or unexported fields
}
func NewLoclistTable ¶
func NewLoclistTable(f *elf.File) (*LoclistTable, error)
func (*LoclistTable) Dump ¶
func (l *LoclistTable) Dump()
type Node ¶
type Node struct {
// contains filtered or unexported fields
}
func (*Node) AbstractOrigin ¶
The abstract origin attribute is used to deduplicate common attributes between multiple entries. For example, when a function is inlined into multiple places, there will be multiple entries with the same name, type, and location, but different locations in the code where they are inlined. These entries can point to a single abstract origin entry that has the common attributes, and then only have the location attribute that is different between them.
func (*Node) FileCol ¶
Returns the file and line number of this entry, or an empty string if there is no file and line number.
func (*Node) Location ¶
Returns the location as a list of DWARF operations, or nil if there is no location. Sometimes a location is static an can be resolved. Sometimes a location is dynamic and depends on the context in which it is evaluated, in which case runtime info such as register values is needed to resolve it.
func (*Node) LocationList ¶
Returns the location as a list of location list entries, or nil if there is no location list. Location lists are used when the location of a variable changes over the course of the program, for example when a variable is optimized to live in a register for part of the program and on the stack for another part of the program.
type Tree ¶
type Tree struct {
// contains filtered or unexported fields
}
func NewDWARFTree ¶
func (*Tree) AddToIndex ¶
Directories
¶
| Path | Synopsis |
|---|---|
|
SPDX-License-Identifier: MIT Copyright (c) 2014 Derek Parker Original from https://github.com/go-delve/delve/tree/v1.26.1/pkg/dwarf/leb128
|
SPDX-License-Identifier: MIT Copyright (c) 2014 Derek Parker Original from https://github.com/go-delve/delve/tree/v1.26.1/pkg/dwarf/leb128 |