package standard library
go1.22.5 Latest Latest

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

Go to latest
Published: Jul 2, 2024 License: BSD-3-Clause Imports: 4 Imported by: 0




This section is empty.


This section is empty.


This section is empty.


type Examiner

type Examiner struct {
	// contains filtered or unexported fields

func (*Examiner) Children

func (ex *Examiner) Children(idx int) []*dwarf.Entry

Returns a list of child entries for a die with ID 'idx'

func (*Examiner) DIEs

func (e *Examiner) DIEs() []*dwarf.Entry

func (*Examiner) DumpEntry

func (ex *Examiner) DumpEntry(idx int, dumpKids bool, ilevel int)

For debugging new tests

func (*Examiner) EntryFromOffset

func (ex *Examiner) EntryFromOffset(off dwarf.Offset) *dwarf.Entry

Given a DIE offset, return the previously read dwarf.Entry, or nil

func (*Examiner) FileRef

func (ex *Examiner) FileRef(dw *dwarf.Data, dieIdx int, fileRef int64) (string, error)

FileRef takes a given DIE by index and a numeric file reference (presumably from a decl_file or call_file attribute), looks up the reference in the .debug_line file table, and returns the proper string for it. We need to know which DIE is making the reference so as to find the right compilation unit.

func (*Examiner) IdxFromOffset

func (ex *Examiner) IdxFromOffset(off dwarf.Offset) int

Return the ID that Examiner uses to refer to the DIE at offset off

func (*Examiner) Named

func (ex *Examiner) Named(name string) []*dwarf.Entry

Return a list of all DIEs with name 'name'. When searching for DIEs by name, keep in mind that the returned results will include child DIEs such as params/variables. For example, asking for all DIEs named "p" for even a small program will give you 400-500 entries.

func (*Examiner) Parent

func (ex *Examiner) Parent(idx int) *dwarf.Entry

Returns parent DIE for DIE 'idx', or nil if the DIE is top level

func (*Examiner) ParentCU

func (ex *Examiner) ParentCU(idx int) *dwarf.Entry

ParentCU returns the enclosing compilation unit DIE for the DIE with a given index, or nil if for some reason we can't establish a parent.

func (*Examiner) Populate

func (ex *Examiner) Populate(rdr *dwarf.Reader) error

Populate the Examiner using the DIEs read from rdr.

Jump to

Keyboard shortcuts

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