LLDB API Documentation

Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
lldb::SBFrame Class Reference

#include <SBFrame.h>

Collaboration diagram for lldb::SBFrame:
Collaboration graph
[legend]

Public Member Functions

 SBFrame ()
 SBFrame (const lldb::SBFrame &rhs)
const lldb::SBFrameoperator= (const lldb::SBFrame &rhs)
 ~SBFrame ()
bool IsEqual (const lldb::SBFrame &that) const
bool IsValid () const
uint32_t GetFrameID () const
lldb::addr_t GetPC () const
bool SetPC (lldb::addr_t new_pc)
lldb::addr_t GetSP () const
lldb::addr_t GetFP () const
lldb::SBAddress GetPCAddress () const
lldb::SBSymbolContext GetSymbolContext (uint32_t resolve_scope) const
lldb::SBModule GetModule () const
lldb::SBCompileUnit GetCompileUnit () const
lldb::SBFunction GetFunction () const
lldb::SBSymbol GetSymbol () const
lldb::SBBlock GetBlock () const
const char * GetFunctionName ()
bool IsInlined ()
lldb::SBValue EvaluateExpression (const char *expr)
lldb::SBValue EvaluateExpression (const char *expr, lldb::DynamicValueType use_dynamic)
lldb::SBValue EvaluateExpression (const char *expr, lldb::DynamicValueType use_dynamic, bool unwind_on_error)
lldb::SBValue EvaluateExpression (const char *expr, const SBExpressionOptions &options)
lldb::SBBlock GetFrameBlock () const
lldb::SBLineEntry GetLineEntry () const
lldb::SBThread GetThread () const
const char * Disassemble () const
void Clear ()
bool operator== (const lldb::SBFrame &rhs) const
bool operator!= (const lldb::SBFrame &rhs) const
lldb::SBValueList GetVariables (bool arguments, bool locals, bool statics, bool in_scope_only)
lldb::SBValueList GetVariables (bool arguments, bool locals, bool statics, bool in_scope_only, lldb::DynamicValueType use_dynamic)
lldb::SBValueList GetRegisters ()
lldb::SBValue FindVariable (const char *var_name)
lldb::SBValue FindVariable (const char *var_name, lldb::DynamicValueType use_dynamic)
lldb::SBValue GetValueForVariablePath (const char *var_expr_cstr, DynamicValueType use_dynamic)
lldb::SBValue GetValueForVariablePath (const char *var_path)
lldb::SBValue FindValue (const char *name, ValueType value_type)
lldb::SBValue FindValue (const char *name, ValueType value_type, lldb::DynamicValueType use_dynamic)
lldb::SBValue WatchValue (const char *name, ValueType value_type, uint32_t watch_type)
lldb::SBValue WatchLocation (const char *name, ValueType value_type, uint32_t watch_type, size_t size)
bool GetDescription (lldb::SBStream &description)
 SBFrame (const lldb::StackFrameSP &lldb_object_sp)

Protected Member Functions

lldb::StackFrameSP GetFrameSP () const
void SetFrameSP (const lldb::StackFrameSP &lldb_object_sp)

Protected Attributes

lldb::ExecutionContextRefSP m_opaque_sp

Friends

class SBBlock
class SBInstruction
class SBThread
class SBValue
class lldb_private::ScriptInterpreterPython

Detailed Description

Definition at line 18 of file SBFrame.h.

Constructor & Destructor Documentation

lldb::SBFrame::SBFrame ( )
lldb::SBFrame::SBFrame ( const lldb::SBFrame rhs)
lldb::SBFrame::~SBFrame ( )
lldb::SBFrame::SBFrame ( const lldb::StackFrameSP &  lldb_object_sp)

Member Function Documentation

void lldb::SBFrame::Clear ( )
const char* lldb::SBFrame::Disassemble ( ) const
lldb::SBValue lldb::SBFrame::EvaluateExpression ( const char *  expr)

The version that doesn't supply a 'use_dynamic' value will use the target's default.

lldb::SBValue lldb::SBFrame::EvaluateExpression ( const char *  expr,
lldb::DynamicValueType  use_dynamic 
)
lldb::SBValue lldb::SBFrame::EvaluateExpression ( const char *  expr,
lldb::DynamicValueType  use_dynamic,
bool  unwind_on_error 
)
lldb::SBValue lldb::SBFrame::EvaluateExpression ( const char *  expr,
const SBExpressionOptions options 
)
lldb::SBValue lldb::SBFrame::FindValue ( const char *  name,
ValueType  value_type 
)

Find variables, register sets, registers, or persistent variables using the frame as the scope.

NB. This function does not look up ivars in the function object pointer. To do that use GetValueForVariablePath.

The version that doesn't supply a 'use_dynamic' value will use the target's default.

lldb::SBValue lldb::SBFrame::FindValue ( const char *  name,
ValueType  value_type,
lldb::DynamicValueType  use_dynamic 
)
lldb::SBValue lldb::SBFrame::FindVariable ( const char *  var_name)

The version that doesn't supply a 'use_dynamic' value will use the target's default.

lldb::SBValue lldb::SBFrame::FindVariable ( const char *  var_name,
lldb::DynamicValueType  use_dynamic 
)
lldb::SBBlock lldb::SBFrame::GetBlock ( ) const

Gets the deepest block that contains the frame PC.

See also GetFrameBlock().

lldb::SBCompileUnit lldb::SBFrame::GetCompileUnit ( ) const
bool lldb::SBFrame::GetDescription ( lldb::SBStream description)
lldb::addr_t lldb::SBFrame::GetFP ( ) const
lldb::SBBlock lldb::SBFrame::GetFrameBlock ( ) const

Gets the lexical block that defines the stack frame. Another way to think of this is it will return the block that contains all of the variables for a stack frame. Inlined functions are represented as SBBlock objects that have inlined function information: the name of the inlined function, where it was called from. The block that is returned will be the first block at or above the block for the PC (SBFrame::GetBlock()) that defines the scope of the frame. When a function contains no inlined functions, this will be the top most lexical block that defines the function. When a function has inlined functions and the PC is currently in one of those inlined functions, this method will return the inlined block that defines this frame. If the PC isn't currently in an inlined function, the lexical block that defines the function is returned.

uint32_t lldb::SBFrame::GetFrameID ( ) const
lldb::StackFrameSP lldb::SBFrame::GetFrameSP ( ) const
protected
lldb::SBFunction lldb::SBFrame::GetFunction ( ) const
const char* lldb::SBFrame::GetFunctionName ( )

Get the appropriate function name for this frame. Inlined functions in LLDB are represented by Blocks that have inlined function information, so just looking at the SBFunction or SBSymbol for a frame isn't enough. This function will return the appriopriate function, symbol or inlined function name for the frame.

This function returns:

  • the name of the inlined function (if there is one)
  • the name of the concrete function (if there is one)
  • the name of the symbol (if there is one)
  • NULL

See also IsInlined().

lldb::SBLineEntry lldb::SBFrame::GetLineEntry ( ) const
lldb::SBModule lldb::SBFrame::GetModule ( ) const
lldb::addr_t lldb::SBFrame::GetPC ( ) const
lldb::SBAddress lldb::SBFrame::GetPCAddress ( ) const
lldb::SBValueList lldb::SBFrame::GetRegisters ( )
lldb::addr_t lldb::SBFrame::GetSP ( ) const
lldb::SBSymbol lldb::SBFrame::GetSymbol ( ) const
lldb::SBSymbolContext lldb::SBFrame::GetSymbolContext ( uint32_t  resolve_scope) const
lldb::SBThread lldb::SBFrame::GetThread ( ) const
lldb::SBValue lldb::SBFrame::GetValueForVariablePath ( const char *  var_expr_cstr,
DynamicValueType  use_dynamic 
)
lldb::SBValue lldb::SBFrame::GetValueForVariablePath ( const char *  var_path)

The version that doesn't supply a 'use_dynamic' value will use the target's default.

lldb::SBValueList lldb::SBFrame::GetVariables ( bool  arguments,
bool  locals,
bool  statics,
bool  in_scope_only 
)

The version that doesn't supply a 'use_dynamic' value will use the target's default.

lldb::SBValueList lldb::SBFrame::GetVariables ( bool  arguments,
bool  locals,
bool  statics,
bool  in_scope_only,
lldb::DynamicValueType  use_dynamic 
)
bool lldb::SBFrame::IsEqual ( const lldb::SBFrame that) const
bool lldb::SBFrame::IsInlined ( )

Return true if this frame represents an inlined function.

See also GetFunctionName().

bool lldb::SBFrame::IsValid ( ) const
bool lldb::SBFrame::operator!= ( const lldb::SBFrame rhs) const
const lldb::SBFrame& lldb::SBFrame::operator= ( const lldb::SBFrame rhs)
bool lldb::SBFrame::operator== ( const lldb::SBFrame rhs) const
void lldb::SBFrame::SetFrameSP ( const lldb::StackFrameSP &  lldb_object_sp)
protected
bool lldb::SBFrame::SetPC ( lldb::addr_t  new_pc)
lldb::SBValue lldb::SBFrame::WatchLocation ( const char *  name,
ValueType  value_type,
uint32_t  watch_type,
size_t  size 
)

Find and watch the location pointed to by a variable using the frame as the scope. It returns an SBValue, similar to FindValue() method, if find-and-watch operation succeeds. Otherwise, an invalid SBValue is returned. You can use LLDB_WATCH_TYPE_READ | LLDB_WATCH_TYPE_WRITE for 'rw' watch.

lldb::SBValue lldb::SBFrame::WatchValue ( const char *  name,
ValueType  value_type,
uint32_t  watch_type 
)

Find and watch a variable using the frame as the scope. It returns an SBValue, similar to FindValue() method, if find-and-watch operation succeeds. Otherwise, an invalid SBValue is returned. You can use LLDB_WATCH_TYPE_READ | LLDB_WATCH_TYPE_WRITE for 'rw' watch.

Friends And Related Function Documentation

friend class lldb_private::ScriptInterpreterPython
friend

Definition at line 225 of file SBFrame.h.

friend class SBBlock
friend

Definition at line 220 of file SBFrame.h.

friend class SBInstruction
friend

Definition at line 221 of file SBFrame.h.

friend class SBThread
friend

Definition at line 222 of file SBFrame.h.

friend class SBValue
friend

Definition at line 223 of file SBFrame.h.

Member Data Documentation

lldb::ExecutionContextRefSP lldb::SBFrame::m_opaque_sp
protected

Definition at line 234 of file SBFrame.h.


The documentation for this class was generated from the following file: