LLVM: lldb::SBFrame Class Reference
Description: C++ source code API documentation for LLDB.
Keywords: LLDB,C++,doxygen,API,documentation

LLDB API Documentation

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Members

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:
[legend]

## Public Member Functions
| SBFrame ()
| SBFrame (const lldb::SBFrame &rhs)
const lldb::SBFrame & | operator= (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:

- SBFrame.h