Struct lldb::SBFrame
[−]
[src]
pub struct SBFrame {
pub raw: SBFrameRef,
}One of the stack frames associated with a thread.
Fields
raw: SBFrameRef
The underlying raw SBFrameRef.
Methods
impl SBFrame[src]
pub fn wrap(raw: SBFrameRef) -> SBFrame[src]
Construct a new SBFrame.
pub fn maybe_wrap(raw: SBFrameRef) -> Option<SBFrame>[src]
Construct a new Some(SBFrame) or None.
pub fn is_valid(&self) -> bool[src]
Check whether or not this is a valid SBFrame value.
pub fn frame_id(&self) -> u32[src]
The zero-based stack frame index for this frame.
This can be used to locate adjacent frames in the thread's stack frames.
pub fn cfa(&self) -> Option<lldb_addr_t>[src]
Get the Canonical Frame Address for this stack frame.
This is the DWARF standard's definition of a CFA, a stack address that remains constant throughout the lifetime of the function.
pub fn pc(&self) -> lldb_addr_t[src]
The program counter (PC) as an unsigned integer.
pub fn set_pc(&self, new_pc: lldb_addr_t) -> bool[src]
pub fn sp(&self) -> lldb_addr_t[src]
The stack pointer address as an unsigned integer.
pub fn fp(&self) -> lldb_addr_t[src]
The frame pointer address as an unsigned integer.
pub fn pc_address(&self) -> SBAddress[src]
The program counter (PC) as a section offset address (SBAddress).
pub fn symbol_context(&self, resolve_scope: u32) -> SBSymbolContext[src]
The symbol context for this frame's current pc value.
The frame maintains this symbol context and adds information to it as needed. This helps avoid repeated lookups of the same information.
resolve_scope: Flags that specify what type of symbol context is needed by the caller. These flags have constants starting withSYMBOL_CONTEXT_ITEM_.
pub fn module(&self) -> SBModule[src]
The SBModule for this stack frame.
pub fn compile_unit(&self) -> SBCompileUnit[src]
The SBCompileUnit for this stack frame.
pub fn function(&self) -> SBFunction[src]
The SBFunction for this stack frame.
pub fn symbol(&self) -> SBSymbol[src]
The SBSymbol for this stack frame.
pub fn block(&self) -> SBBlock[src]
Get the deepest block that contains the frame PC.
pub fn function_name(&self) -> Option<&str>[src]
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 appropriate 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 is_inlined.
pub fn display_function_name(&self) -> Option<&str>[src]
pub fn is_inlined(&self) -> bool[src]
Return true if this frame represents an inlined function.
pub fn evaluate_expression(
&self,
expression: &str,
options: &SBExpressionOptions
) -> SBValue[src]
&self,
expression: &str,
options: &SBExpressionOptions
) -> SBValue
Evaluate an expression within the context of this frame.
pub fn frame_block(&self) -> SBBlock[src]
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::block()) 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.
pub fn line_entry(&self) -> Option<SBLineEntry>[src]
The line table entry (SBLineEntry) for this stack frame.
pub fn thread(&self) -> SBThread[src]
The thread that is executing this stack frame.
pub fn disassemble(&self) -> &str[src]
The disassembly of this function, presented as a string.
pub fn variables(&self, options: &SBVariablesOptions) -> SBValueList[src]
The values for variables matching the specified options.
pub fn all_variables(&self) -> SBValueList[src]
The values for all variables in this stack frame.
pub fn arguments(&self) -> SBValueList[src]
The values for the argument variables in this stack frame.
pub fn locals(&self) -> SBValueList[src]
The values for the local variables in this stack frame.
pub fn statics(&self) -> SBValueList[src]
The values for the static variables in this stack frame.
pub fn registers(&self) -> SBValueList[src]
The values for the CPU registers for this stack frame.
pub fn find_register(&self, name: &str) -> Option<SBValue>[src]
The value for a particular register, if present.
pub fn parent_frame(&self) -> Option<SBFrame>[src]
The parent frame that invoked this frame, if available.
Trait Implementations
impl Debug for SBFrame[src]
fn fmt(&self, fmt: &mut Formatter) -> Result[src]
Formats the value using the given formatter. Read more