SBFunction#
- class lldb.SBFunction(*args)#
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)) ...
Attributes Summary
A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this function.
A read only property that returns an lldb object that represents the top level lexical block (lldb.SBBlock) for this function.
A read only property that returns an lldb object that represents the end address (lldb.SBAddress) for this function.
A read only property that returns an lldb object that represents the instructions (lldb.SBInstructionList) for this function.
A read only property that returns the mangled (linkage) name for this function as a string.
A read only property that returns the name for this function as a string.
A read only property that returns the size in bytes of the prologue instructions as an unsigned integer.
A read only property that returns an lldb object that represents the return type (lldb.SBType) for this function.
Methods Summary
GetArgumentName(SBFunction self, ...)GetBaseName(SBFunction self)GetBlock(SBFunction self)GetDescription(SBFunction self, ...)GetDisplayName(SBFunction self)GetEndAddress(SBFunction self)GetInstructions(-> SBInstructionList)GetIsOptimized(SBFunction self)Returns true if the function was compiled with optimization.
GetLanguage(SBFunction self)GetMangledName(SBFunction self)GetName(SBFunction self)GetPrologueByteSize(SBFunction self)GetRanges(SBFunction self)GetStartAddress(SBFunction self)GetType(SBFunction self)IsValid(SBFunction self)Attributes Documentation
- 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.
Methods Documentation
- GetArgumentName(SBFunction self, uint32_t arg_idx) char const *#
- GetBaseName(SBFunction self) char const *#
- GetDescription(SBFunction self, SBStream description) bool#
- GetDisplayName(SBFunction self) char const *#
- GetInstructions(SBFunction self, SBTarget target) SBInstructionList#
- GetInstructions(SBFunction self, SBTarget target, char const * flavor) SBInstructionList
- GetIsOptimized(SBFunction self) bool#
Returns true if the function was compiled with optimization. Optimization, in this case, is meant to indicate that the debugger experience may be confusing for the user – variables optimized away, stepping jumping between source lines – and the driver may want to provide some guidance to the user about this. Returns false if unoptimized, or unknown.
- GetLanguage(SBFunction self) lldb::LanguageType#
- GetMangledName(SBFunction self) char const *#
- GetName(SBFunction self) char const *#
- GetPrologueByteSize(SBFunction self) uint32_t#
- GetRanges(SBFunction self) SBAddressRangeList#
- IsValid(SBFunction self) bool#
- get_instructions_from_current_target()#