| LLDB mainline
    | 
#include <ScriptedFrame.h>
| Public Member Functions | |
| ScriptedFrame (ScriptedThread &thread, lldb::ScriptedFrameInterfaceSP interface_sp, lldb::user_id_t frame_idx, lldb::addr_t pc, SymbolContext &sym_ctx, lldb::RegisterContextSP reg_ctx_sp, std::shared_ptr< DynamicRegisterInfo > reg_info_sp, StructuredData::GenericSP script_object_sp=nullptr) | |
| ~ScriptedFrame () override | |
| bool | IsInlined () override | 
| Query whether this frame is a concrete frame on the call stack, or if it is an inlined frame derived from the debug information and presented by the debugger. | |
| bool | IsArtificial () const override | 
| Query whether this frame is artificial (e.g a synthesized result of inferring missing tail call frames from a backtrace). | |
| bool | IsHidden () override | 
| Query whether this frame should be hidden from backtraces. | |
| const char * | GetFunctionName () override | 
| Get the frame's demangled name. | |
| const char * | GetDisplayFunctionName () override | 
| Get the frame's demangled display name. | |
| Public Member Functions inherited from lldb_private::StackFrame | |
| StackFrame (const lldb::ThreadSP &thread_sp, lldb::user_id_t frame_idx, lldb::user_id_t concrete_frame_idx, lldb::addr_t cfa, bool cfa_is_valid, lldb::addr_t pc, Kind frame_kind, bool artificial, bool behaves_like_zeroth_frame, const SymbolContext *sc_ptr) | |
| Construct a StackFrame object without supplying a RegisterContextSP. | |
| StackFrame (const lldb::ThreadSP &thread_sp, lldb::user_id_t frame_idx, lldb::user_id_t concrete_frame_idx, const lldb::RegisterContextSP ®_context_sp, lldb::addr_t cfa, lldb::addr_t pc, bool behaves_like_zeroth_frame, const SymbolContext *sc_ptr) | |
| StackFrame (const lldb::ThreadSP &thread_sp, lldb::user_id_t frame_idx, lldb::user_id_t concrete_frame_idx, const lldb::RegisterContextSP ®_context_sp, lldb::addr_t cfa, const Address &pc, bool behaves_like_zeroth_frame, const SymbolContext *sc_ptr) | |
| ~StackFrame () override | |
| lldb::ThreadSP | GetThread () const | 
| StackID & | GetStackID () | 
| const Address & | GetFrameCodeAddress () | 
| Get an Address for the current pc value in this StackFrame. | |
| Address | GetFrameCodeAddressForSymbolication () | 
| Get the current code Address suitable for symbolication, may not be the same as GetFrameCodeAddress(). | |
| bool | ChangePC (lldb::addr_t pc) | 
| Change the pc value for a given thread. | |
| const SymbolContext & | GetSymbolContext (lldb::SymbolContextItem resolve_scope) | 
| Provide a SymbolContext for this StackFrame's current pc value. | |
| llvm::Error | GetFrameBaseValue (Scalar &value) | 
| Return the Canonical Frame Address (DWARF term) for this frame. | |
| DWARFExpressionList * | GetFrameBaseExpression (Status *error_ptr) | 
| Get the DWARFExpressionList corresponding to the Canonical Frame Address. | |
| Block * | GetFrameBlock () | 
| Get the current lexical scope block for this StackFrame, if possible. | |
| lldb::RegisterContextSP | GetRegisterContext () | 
| Get the RegisterContext for this frame, if possible. | |
| const lldb::RegisterContextSP & | GetRegisterContextSP () const | 
| VariableList * | GetVariableList (bool get_file_globals, Status *error_ptr) | 
| Retrieve the list of variables whose scope either: | |
| lldb::VariableListSP | GetInScopeVariableList (bool get_file_globals, bool must_have_valid_location=false) | 
| Retrieve the list of variables that are in scope at this StackFrame's pc. | |
| lldb::ValueObjectSP | GetValueForVariableExpressionPath (llvm::StringRef var_expr, lldb::DynamicValueType use_dynamic, uint32_t options, lldb::VariableSP &var_sp, Status &error) | 
| Create a ValueObject for a variable name / pathname, possibly including simple dereference/child selection syntax. | |
| bool | HasDebugInformation () | 
| Determine whether this StackFrame has debug information available or not. | |
| const char * | Disassemble () | 
| Return the disassembly for the instructions of this StackFrame's function as a single C string. | |
| bool | DumpUsingFormat (Stream &strm, const lldb_private::FormatEntity::Entry *format, llvm::StringRef frame_marker={}) | 
| Print a description of this frame using the provided frame format. | |
| void | DumpUsingSettingsFormat (Stream *strm, bool show_unique=false, const char *frame_marker=nullptr) | 
| Print a description for this frame using the frame-format formatter settings. | |
| void | Dump (Stream *strm, bool show_frame_index, bool show_fullpaths) | 
| Print a description for this frame using a default format. | |
| bool | GetStatus (Stream &strm, bool show_frame_info, bool show_source, bool show_unique=false, const char *frame_marker=nullptr) | 
| Print a description of this stack frame and/or the source context/assembly for this stack frame. | |
| bool | IsSynthetic () const | 
| Query whether this frame is synthetic. | |
| bool | IsHistorical () const | 
| Query whether this frame is part of a historical backtrace. | |
| StructuredData::ObjectSP | GetLanguageSpecificData () | 
| Language plugins can use this API to report language-specific runtime information about this compile unit, such as additional language version details or feature flags. | |
| uint32_t | GetFrameIndex () const | 
| Query this frame to find what frame it is in this Thread's StackFrameList. | |
| void | SetFrameIndex (uint32_t index) | 
| Set this frame's synthetic frame index. | |
| uint32_t | GetConcreteFrameIndex () const | 
| Query this frame to find what frame it is in this Thread's StackFrameList, not counting inlined frames. | |
| lldb::ValueObjectSP | GetValueObjectForFrameVariable (const lldb::VariableSP &variable_sp, lldb::DynamicValueType use_dynamic) | 
| Create a ValueObject for a given Variable in this StackFrame. | |
| SourceLanguage | GetLanguage () | 
| Query this frame to determine what the default language should be when parsing expressions given the execution context. | |
| SourceLanguage | GuessLanguage () | 
| Similar to GetLanguage(), but is allowed to take a potentially incorrect guess if exact information is not available. | |
| lldb::ValueObjectSP | GuessValueForAddress (lldb::addr_t addr) | 
| Attempt to econstruct the ValueObject for a given raw address touched by the current instruction. | |
| lldb::ValueObjectSP | GuessValueForRegisterAndOffset (ConstString reg, int64_t offset) | 
| Attempt to reconstruct the ValueObject for the address contained in a given register plus an offset. | |
| lldb::ValueObjectSP | FindVariable (ConstString name) | 
| Attempt to reconstruct the ValueObject for a variable with a given name from within the current StackFrame, within the current block. | |
| lldb::TargetSP | CalculateTarget () override | 
| lldb::ProcessSP | CalculateProcess () override | 
| lldb::ThreadSP | CalculateThread () override | 
| lldb::StackFrameSP | CalculateStackFrame () override | 
| void | CalculateExecutionContext (ExecutionContext &exe_ctx) override | 
| Reconstruct the object's execution context into sc. | |
| lldb::RecognizedStackFrameSP | GetRecognizedFrame () | 
| Public Member Functions inherited from lldb_private::ExecutionContextScope | |
| virtual | ~ExecutionContextScope ()=default | 
| Static Public Member Functions | |
| static llvm::Expected< std::shared_ptr< ScriptedFrame > > | Create (ScriptedThread &thread, StructuredData::DictionarySP args_sp, StructuredData::Generic *script_object=nullptr) | 
| Private Member Functions | |
| void | CheckInterpreterAndScriptObject () const | 
| lldb::ScriptedFrameInterfaceSP | GetInterface () const | 
| ScriptedFrame (const ScriptedFrame &)=delete | |
| const ScriptedFrame & | operator= (const ScriptedFrame &)=delete | 
| std::shared_ptr< DynamicRegisterInfo > | GetDynamicRegisterInfo () | 
| Private Attributes | |
| lldb::ScriptedFrameInterfaceSP | m_scripted_frame_interface_sp | 
| lldb_private::StructuredData::GenericSP | m_script_object_sp | 
| std::shared_ptr< DynamicRegisterInfo > | m_register_info_sp | 
Definition at line 25 of file ScriptedFrame.h.
| ScriptedFrame::ScriptedFrame | ( | ScriptedThread & | thread, | 
| lldb::ScriptedFrameInterfaceSP | interface_sp, | ||
| lldb::user_id_t | frame_idx, | ||
| lldb::addr_t | pc, | ||
| SymbolContext & | sym_ctx, | ||
| lldb::RegisterContextSP | reg_ctx_sp, | ||
| std::shared_ptr< DynamicRegisterInfo > | reg_info_sp, | ||
| StructuredData::GenericSP | script_object_sp = nullptr ) | 
Definition at line 112 of file ScriptedFrame.cpp.
References m_register_info_sp, m_script_object_sp, m_scripted_frame_interface_sp, pc, and lldb_private::StackFrame::StackFrame().
Referenced by operator=(), and ScriptedFrame().
| 
 | override | 
Definition at line 126 of file ScriptedFrame.cpp.
| 
 | privatedelete | 
References ScriptedFrame().
| 
 | private | 
Definition at line 16 of file ScriptedFrame.cpp.
References GetInterface(), lldbassert, and m_script_object_sp.
Referenced by GetDisplayFunctionName(), GetDynamicRegisterInfo(), and GetFunctionName().
| 
 | static | 
Definition at line 22 of file ScriptedFrame.cpp.
References lldb_private::Address::CalculateSymbolContext(), lldb_private::DynamicRegisterInfo::Create(), LLDB_INVALID_ADDRESS, pc, and lldb_private::Address::SetLoadAddress().
Referenced by lldb_private::ScriptedThread::LoadArtificialStackFrames().
| 
 | overridevirtual | 
Get the frame's demangled display name.
///
Reimplemented from lldb_private::StackFrame.
Definition at line 136 of file ScriptedFrame.cpp.
References lldb_private::ConstString::AsCString(), CheckInterpreterAndScriptObject(), and GetInterface().
| 
 | private | 
Definition at line 157 of file ScriptedFrame.cpp.
References CheckInterpreterAndScriptObject(), lldb_private::DynamicRegisterInfo::Create(), error(), lldb_private::ScriptedInterface::ErrorWithMessage(), GetInterface(), m_register_info_sp, lldb_private::StackFrame::m_thread_wp, and lldb_private::Thread.
| 
 | overridevirtual | 
Get the frame's demangled name.
///
Reimplemented from lldb_private::StackFrame.
Definition at line 128 of file ScriptedFrame.cpp.
References lldb_private::ConstString::AsCString(), CheckInterpreterAndScriptObject(), and GetInterface().
| 
 | private | 
Definition at line 153 of file ScriptedFrame.cpp.
References m_scripted_frame_interface_sp.
Referenced by CheckInterpreterAndScriptObject(), GetDisplayFunctionName(), GetDynamicRegisterInfo(), GetFunctionName(), IsArtificial(), IsHidden(), and IsInlined().
| 
 | overridevirtual | 
Query whether this frame is artificial (e.g a synthesized result of inferring missing tail call frames from a backtrace).
Artificial frames may have limited support for inspecting variables.
Reimplemented from lldb_private::StackFrame.
Definition at line 147 of file ScriptedFrame.cpp.
References GetInterface().
| 
 | overridevirtual | 
Query whether this frame should be hidden from backtraces.
Frame recognizers can customize this behavior and hide distracting system implementation details this way.
Reimplemented from lldb_private::StackFrame.
Definition at line 151 of file ScriptedFrame.cpp.
References GetInterface().
| 
 | overridevirtual | 
Query whether this frame is a concrete frame on the call stack, or if it is an inlined frame derived from the debug information and presented by the debugger.
Reimplemented from lldb_private::StackFrame.
Definition at line 145 of file ScriptedFrame.cpp.
References GetInterface().
| 
 | privatedelete | 
References ScriptedFrame().
| 
 | private | 
Definition at line 58 of file ScriptedFrame.h.
Referenced by GetDynamicRegisterInfo(), and ScriptedFrame().
| 
 | private | 
Definition at line 57 of file ScriptedFrame.h.
Referenced by CheckInterpreterAndScriptObject(), and ScriptedFrame().
| 
 | private | 
Definition at line 56 of file ScriptedFrame.h.
Referenced by GetInterface(), and ScriptedFrame().