Documentation ¶
Index ¶
- Variables
- type ArgLocation
- type ArgumentLocator
- type ClassInfo
- type ClassInheritance
- type DwarfReader
- func (r *DwarfReader) GetClass(name string) *ClassInfo
- func (r *DwarfReader) GetClassMemberOffset(className, memberName string) (uint64, error)
- func (r *DwarfReader) GetClassParentOffset(className, parentClassName string) (uint64, error)
- func (r *DwarfReader) GetFunction(name string) *FunctionInfo
- func (r *DwarfReader) GetStructMemberOffset(structName, memberName string) (uint64, error)
- func (r *DwarfReader) GetStructure(name string) *StructureInfo
- func (r *DwarfReader) IsRetArgs(entry *dwarf.Entry) (bool, error)
- type File
- func (f *File) Close() error
- func (f *File) FindBaseAddressForAttach(symbolLocation uint64) uint64
- func (f *File) FindSymbol(name string) *Symbol
- func (f *File) NewDwarfReader(attrNames ...string) (*DwarfReader, error)
- func (f *File) ReadSymbolData(section string, offset, size uint64) ([]byte, error)
- type FunctionArgsInfo
- type FunctionInfo
- type GolangRegisterLocator
- type GolangStackLocator
- type LocationType
- type RegisterName
- type StructureFieldInfo
- type StructureInfo
- type Symbol
- type TypeClass
- type UnknownLocator
Constants ¶
This section is empty.
Variables ¶
View Source
var ReaderLanguageGolang = 22
Functions ¶
This section is empty.
Types ¶
type ArgLocation ¶
type ArgLocation struct { Type LocationType Offset uint64 }
type ArgumentLocator ¶
type ArgumentLocator interface { // GetLocation of the argument GetLocation(typeClass TypeClass, typeSize uint64, alignmentSize uint64, primitivesCount int, isRetArg bool) (*ArgLocation, error) }
func NewArgumentLocator ¶
func NewArgumentLocator(r *DwarfReader) ArgumentLocator
type ClassInfo ¶
type ClassInfo struct {
// contains filtered or unexported fields
}
func (*ClassInfo) GetInheritanceOffset ¶
func (*ClassInfo) GetMemberOffset ¶
type ClassInheritance ¶
type ClassInheritance struct {
// contains filtered or unexported fields
}
type DwarfReader ¶
type DwarfReader struct {
// contains filtered or unexported fields
}
func (*DwarfReader) GetClass ¶
func (r *DwarfReader) GetClass(name string) *ClassInfo
func (*DwarfReader) GetClassMemberOffset ¶
func (r *DwarfReader) GetClassMemberOffset(className, memberName string) (uint64, error)
func (*DwarfReader) GetClassParentOffset ¶
func (r *DwarfReader) GetClassParentOffset(className, parentClassName string) (uint64, error)
func (*DwarfReader) GetFunction ¶
func (r *DwarfReader) GetFunction(name string) *FunctionInfo
func (*DwarfReader) GetStructMemberOffset ¶
func (r *DwarfReader) GetStructMemberOffset(structName, memberName string) (uint64, error)
func (*DwarfReader) GetStructure ¶
func (r *DwarfReader) GetStructure(name string) *StructureInfo
type File ¶
type File struct { Path string // contains filtered or unexported fields }
func (*File) FindBaseAddressForAttach ¶ added in v0.4.0
func (*File) FindSymbol ¶
func (*File) NewDwarfReader ¶
func (f *File) NewDwarfReader(attrNames ...string) (*DwarfReader, error)
type FunctionArgsInfo ¶
type FunctionArgsInfo struct { IsRet bool Location *ArgLocation // contains filtered or unexported fields }
type FunctionInfo ¶
type FunctionInfo struct {
// contains filtered or unexported fields
}
func (*FunctionInfo) Args ¶
func (f *FunctionInfo) Args(name string) *FunctionArgsInfo
func (*FunctionInfo) Name ¶
func (f *FunctionInfo) Name() string
type GolangRegisterLocator ¶
type GolangRegisterLocator struct {
// contains filtered or unexported fields
}
func (*GolangRegisterLocator) GetLocation ¶
func (g *GolangRegisterLocator) GetLocation(typeClass TypeClass, typeSize, alignmentSize uint64, primitivesCount int, isRetArg bool) (*ArgLocation, error)
type GolangStackLocator ¶
type GolangStackLocator struct {
// contains filtered or unexported fields
}
func (*GolangStackLocator) GetLocation ¶
func (g *GolangStackLocator) GetLocation(_ TypeClass, typeSize, alignmentSize uint64, _ int, _ bool) (*ArgLocation, error)
type LocationType ¶
type LocationType uint64
const ( ArgLocationTypeUnknown LocationType = 0 ArgLocationTypeStack LocationType = 1 // frame stack pointer ArgLocationTypeStackBP LocationType = 2 // frame base pointer ArgLocationTypeRegister LocationType = 3 // integer register ArgLocationTypeRegisterFP LocationType = 4 // float-point register )
type RegisterName ¶
type RegisterName int
const ( // for int type class RegisterNameRAX RegisterName = 0 RegisterNameRBX RegisterName = 1 RegisterNameRCX RegisterName = 2 RegisterNameRDX RegisterName = 3 RegisterNameRDI RegisterName = 4 RegisterNameRSI RegisterName = 5 RegisterNameR8 RegisterName = 6 RegisterNameR9 RegisterName = 7 RegisterNameR10 RegisterName = 8 RegisterNameR11 RegisterName = 9 // for float type class RegisterNameXMM0 RegisterName = 100 RegisterNameXMM1 RegisterName = 101 RegisterNameXMM2 RegisterName = 102 RegisterNameXMM3 RegisterName = 103 RegisterNameXMM4 RegisterName = 104 RegisterNameXMM5 RegisterName = 105 RegisterNameXMM6 RegisterName = 106 RegisterNameXMM7 RegisterName = 107 RegisterNameXMM8 RegisterName = 108 RegisterNameXMM9 RegisterName = 109 RegisterNameXMM10 RegisterName = 110 RegisterNameXMM11 RegisterName = 111 RegisterNameXMM12 RegisterName = 112 RegisterNameXMM13 RegisterName = 113 RegisterNameXMM14 RegisterName = 114 )
type StructureFieldInfo ¶
type StructureInfo ¶
type StructureInfo struct {
// contains filtered or unexported fields
}
func (*StructureInfo) GetField ¶
func (s *StructureInfo) GetField(name string) *StructureFieldInfo
type UnknownLocator ¶
type UnknownLocator struct {
// contains filtered or unexported fields
}
func (*UnknownLocator) GetLocation ¶
func (u *UnknownLocator) GetLocation(typeClass TypeClass, typeSize, alignmentSize uint64, primitivesCount int, isRetArg bool) (*ArgLocation, error)
Click to show internal directories.
Click to hide internal directories.