Package lldb :: Class SBFunction
[hide private]
[frames] | no frames]

Class SBFunction

source code



Represents a generic function, which can be inlined or not.

For example (from test/lldbutil.py, but slightly modified for doc purpose),

        ...

        frame = thread.GetFrameAtIndex(i)
        addr = frame.GetPCAddress()
        load_addr = addr.GetLoadAddress(target)
        function = frame.GetFunction()
        mod_name = frame.GetModule().GetFileSpec().GetFilename()

        if not function:
            # No debug info for 'function'.
            symbol = frame.GetSymbol()
            file_addr = addr.GetFileAddress()
            start_addr = symbol.GetStartAddress().GetFileAddress()
            symbol_name = symbol.GetName()
            symbol_offset = file_addr - start_addr
            print >> output, '  frame #{num}: {addr:#016x} {mod}`{symbol} + {offset}'.format(
                num=i, addr=load_addr, mod=mod_name, symbol=symbol_name, offset=symbol_offset)
        else:
            # Debug info is available for 'function'.
            func_name = frame.GetFunctionName()
            file_name = frame.GetLineEntry().GetFileSpec().GetFilename()
            line_num = frame.GetLineEntry().GetLine()
            print >> output, '  frame #{num}: {addr:#016x} {mod}`{func} at {file}:{line} {args}'.format(
                num=i, addr=load_addr, mod=mod_name,
                func='%s [inlined]' % func_name] if frame.IsInlined() else func_name,
                file=file_name, line=line_num, args=get_args_as_string(frame, showFuncName=False))

        ...

Instance Methods [hide private]
 
__setattr__(self, name, value)
x.__setattr__('name', value) <==> x.name = value
source code
 
__getattr__(self, name) source code
 
__repr__(self)
repr(x)
source code
 
__init__(self, *args)
__init__(lldb::SBFunction self) -> SBFunction __init__(lldb::SBFunction self, SBFunction rhs) -> SBFunction
source code
 
__swig_destroy__(...)
delete_SBFunction(SBFunction self)
 
__del__(self) source code
 
__nonzero__(self) source code
 
IsValid(self)
IsValid(SBFunction self) -> bool
source code
 
GetName(self)
GetName(SBFunction self) -> str const *
source code
 
GetMangledName(self)
GetMangledName(SBFunction self) -> str const *
source code
 
GetInstructions(self, *args)
GetInstructions(SBFunction self, SBTarget target) -> SBInstructionList GetInstructions(SBFunction self, SBTarget target, str const * flavor) -> SBInstructionList
source code
 
GetStartAddress(self)
GetStartAddress(SBFunction self) -> SBAddress
source code
 
GetEndAddress(self)
GetEndAddress(SBFunction self) -> SBAddress
source code
 
GetPrologueByteSize(self)
GetPrologueByteSize(SBFunction self) -> uint32_t
source code
 
GetType(self)
GetType(SBFunction self) -> SBType
source code
 
GetBlock(self)
GetBlock(SBFunction self) -> SBBlock
source code
 
GetDescription(self, *args)
GetDescription(SBFunction self, SBStream description) -> bool
source code
 
get_instructions_from_current_target(self) source code
 
__str__(self)
__str__(SBFunction self) -> PyObject *
source code
 
__eq__(self, rhs) source code
 
__ne__(self, rhs) source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __sizeof__, __subclasshook__

Class Variables [hide private]
  __swig_setmethods__ = {}
  __swig_getmethods__ = {}
Properties [hide private]
  addr
A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this function.
  block
A read only property that returns an lldb object that represents the top level lexical block (lldb.SBBlock) for this function.
  end_addr
A read only property that returns an lldb object that represents the end address (lldb.SBAddress) for this function.
  instructions
A read only property that returns an lldb object that represents the instructions (lldb.SBInstructionList) for this function.
  mangled
A read only property that returns the mangled (linkage) name for this function as a string.
  name
A read only property that returns the name for this function as a string.
  prologue_size
A read only property that returns the size in bytes of the prologue instructions as an unsigned integer.
  type
A read only property that returns an lldb object that represents the return type (lldb.SBType) for this function.

Inherited from object: __class__

Method Details [hide private]

__setattr__(self, name, value)

source code 

x.__setattr__('name', value) <==> x.name = value

Overrides: object.__setattr__
(inherited documentation)

__repr__(self)
(Representation operator)

source code 

repr(x)

Overrides: object.__repr__
(inherited documentation)

__init__(self, *args)
(Constructor)

source code 

__init__(lldb::SBFunction self) -> SBFunction __init__(lldb::SBFunction self, SBFunction rhs) -> SBFunction

Overrides: object.__init__

__str__(self)
(Informal representation operator)

source code 

__str__(SBFunction self) -> PyObject *

Overrides: object.__str__

Property Details [hide private]

addr

A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this function.

Get Method:
GetStartAddress(self) - GetStartAddress(SBFunction self) -> SBAddress

block

A read only property that returns an lldb object that represents the top level lexical block (lldb.SBBlock) for this function.

Get Method:
GetBlock(self) - GetBlock(SBFunction self) -> SBBlock

end_addr

A read only property that returns an lldb object that represents the end address (lldb.SBAddress) for this function.

Get Method:
GetEndAddress(self) - GetEndAddress(SBFunction self) -> SBAddress

instructions

A read only property that returns an lldb object that represents the instructions (lldb.SBInstructionList) for this function.

Get Method:
get_instructions_from_current_target(self)

mangled

A read only property that returns the mangled (linkage) name for this function as a string.

Get Method:
GetMangledName(self) - GetMangledName(SBFunction self) -> str const *

name

A read only property that returns the name for this function as a string.

Get Method:
GetName(self) - GetName(SBFunction self) -> str const *

prologue_size

A read only property that returns the size in bytes of the prologue instructions as an unsigned integer.

Get Method:
GetPrologueByteSize(self) - GetPrologueByteSize(SBFunction self) -> uint32_t

type

A read only property that returns an lldb object that represents the return type (lldb.SBType) for this function.

Get Method:
GetType(self) - GetType(SBFunction self) -> SBType