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