LLDB  mainline
Public Member Functions | Protected Attributes | List of all members
lldb_private::ExecutionContext Class Reference

"lldb/Target/ExecutionContext.h" A class that contains an execution context. More...

#include <ExecutionContext.h>

Collaboration diagram for lldb_private::ExecutionContext:
Collaboration graph
[legend]

Public Member Functions

 ExecutionContext ()
 Default Constructor. More...
 
 ExecutionContext (const ExecutionContext &rhs)
 
 ExecutionContext (Target *t, bool fill_current_process_thread_frame=true)
 
 ExecutionContext (const lldb::TargetSP &target_sp, bool get_process)
 
 ExecutionContext (const lldb::ProcessSP &process_sp)
 
 ExecutionContext (const lldb::ThreadSP &thread_sp)
 
 ExecutionContext (const lldb::StackFrameSP &frame_sp)
 
 ExecutionContext (const lldb::TargetWP &target_wp, bool get_process)
 
 ExecutionContext (const lldb::ProcessWP &process_wp)
 
 ExecutionContext (const lldb::ThreadWP &thread_wp)
 
 ExecutionContext (const lldb::StackFrameWP &frame_wp)
 
 ExecutionContext (const ExecutionContextRef &exe_ctx_ref)
 
 ExecutionContext (const ExecutionContextRef *exe_ctx_ref, bool thread_and_frame_only_if_stopped=false)
 
 ExecutionContext (const ExecutionContextRef &exe_ctx_ref, std::unique_lock< std::recursive_mutex > &locker)
 
 ExecutionContext (const ExecutionContextRef *exe_ctx_ref, std::unique_lock< std::recursive_mutex > &locker)
 
 ExecutionContext (ExecutionContextScope *exe_scope)
 
 ExecutionContext (ExecutionContextScope &exe_scope)
 
 ExecutionContext (Process *process, Thread *thread=nullptr, StackFrame *frame=nullptr)
 Construct with process, thread, and frame index. More...
 
 ~ExecutionContext ()
 
ExecutionContextoperator= (const ExecutionContext &rhs)
 
bool operator== (const ExecutionContext &rhs) const
 
bool operator!= (const ExecutionContext &rhs) const
 
void Clear ()
 Clear the object's state. More...
 
RegisterContextGetRegisterContext () const
 
ExecutionContextScopeGetBestExecutionContextScope () const
 
uint32_t GetAddressByteSize () const
 
lldb::ByteOrder GetByteOrder () const
 
TargetGetTargetPtr () const
 Returns a pointer to the target object. More...
 
ProcessGetProcessPtr () const
 Returns a pointer to the process object. More...
 
ThreadGetThreadPtr () const
 Returns a pointer to the thread object. More...
 
StackFrameGetFramePtr () const
 Returns a pointer to the frame object. More...
 
TargetGetTargetRef () const
 Returns a reference to the target object. More...
 
ProcessGetProcessRef () const
 Returns a reference to the process object. More...
 
ThreadGetThreadRef () const
 Returns a reference to the thread object. More...
 
StackFrameGetFrameRef () const
 Returns a reference to the thread object. More...
 
const lldb::TargetSP & GetTargetSP () const
 Get accessor to get the target shared pointer. More...
 
const lldb::ProcessSP & GetProcessSP () const
 Get accessor to get the process shared pointer. More...
 
const lldb::ThreadSP & GetThreadSP () const
 Get accessor to get the thread shared pointer. More...
 
const lldb::StackFrameSP & GetFrameSP () const
 Get accessor to get the frame shared pointer. More...
 
void SetTargetSP (const lldb::TargetSP &target_sp)
 Set accessor to set only the target shared pointer. More...
 
void SetProcessSP (const lldb::ProcessSP &process_sp)
 Set accessor to set only the process shared pointer. More...
 
void SetThreadSP (const lldb::ThreadSP &thread_sp)
 Set accessor to set only the thread shared pointer. More...
 
void SetFrameSP (const lldb::StackFrameSP &frame_sp)
 Set accessor to set only the frame shared pointer. More...
 
void SetTargetPtr (Target *target)
 Set accessor to set only the target shared pointer from a target pointer. More...
 
void SetProcessPtr (Process *process)
 Set accessor to set only the process shared pointer from a process pointer. More...
 
void SetThreadPtr (Thread *thread)
 Set accessor to set only the thread shared pointer from a thread pointer. More...
 
void SetFramePtr (StackFrame *frame)
 Set accessor to set only the frame shared pointer from a frame pointer. More...
 
void SetContext (const lldb::TargetSP &target_sp, bool get_process)
 
void SetContext (const lldb::ProcessSP &process_sp)
 
void SetContext (const lldb::ThreadSP &thread_sp)
 
void SetContext (const lldb::StackFrameSP &frame_sp)
 
bool HasTargetScope () const
 Returns true the ExecutionContext object contains a valid target. More...
 
bool HasProcessScope () const
 Returns true the ExecutionContext object contains a valid target and process. More...
 
bool HasThreadScope () const
 Returns true the ExecutionContext object contains a valid target, process, and thread. More...
 
bool HasFrameScope () const
 Returns true the ExecutionContext object contains a valid target, process, thread and frame. More...
 

Protected Attributes

lldb::TargetSP m_target_sp
 The target that owns the process/thread/frame. More...
 
lldb::ProcessSP m_process_sp
 The process that owns the thread/frame. More...
 
lldb::ThreadSP m_thread_sp
 The thread that owns the frame. More...
 
lldb::StackFrameSP m_frame_sp
 The stack frame in thread. More...
 

Detailed Description

"lldb/Target/ExecutionContext.h" A class that contains an execution context.

This baton object can be passed into any function that requires a context that specifies a target, process, thread and frame. These objects are designed to be used for short term execution context object storage while a function might be trying to evaluate something that requires a thread or frame. ExecutionContextRef objects can be used to initialize one of these objects to turn the weak execution context object references to the target, process, thread and frame into strong references (shared pointers) so that functions can guarantee that these objects won't go away in the middle of a function.

ExecutionContext objects should be used as short lived objects (typically on the stack) in order to lock down an execution context for local use and for passing down to other functions that also require specific contexts. They should NOT be used for long term storage, for long term storage use ExecutionContextRef objects.

Definition at line 291 of file ExecutionContext.h.

Constructor & Destructor Documentation

◆ ExecutionContext() [1/18]

ExecutionContext::ExecutionContext ( )

Default Constructor.

Definition at line 19 of file ExecutionContext.cpp.

◆ ExecutionContext() [2/18]

ExecutionContext::ExecutionContext ( const ExecutionContext rhs)

Definition at line 22 of file ExecutionContext.cpp.

◆ ExecutionContext() [3/18]

ExecutionContext::ExecutionContext ( Target t,
bool  fill_current_process_thread_frame = true 
)

◆ ExecutionContext() [4/18]

ExecutionContext::ExecutionContext ( const lldb::TargetSP &  target_sp,
bool  get_process 
)

Definition at line 26 of file ExecutionContext.cpp.

References SetContext().

◆ ExecutionContext() [5/18]

ExecutionContext::ExecutionContext ( const lldb::ProcessSP &  process_sp)

Definition at line 33 of file ExecutionContext.cpp.

References SetContext().

◆ ExecutionContext() [6/18]

ExecutionContext::ExecutionContext ( const lldb::ThreadSP &  thread_sp)

Definition at line 39 of file ExecutionContext.cpp.

References SetContext().

◆ ExecutionContext() [7/18]

ExecutionContext::ExecutionContext ( const lldb::StackFrameSP &  frame_sp)

Definition at line 45 of file ExecutionContext.cpp.

References SetContext().

◆ ExecutionContext() [8/18]

ExecutionContext::ExecutionContext ( const lldb::TargetWP &  target_wp,
bool  get_process 
)

Definition at line 51 of file ExecutionContext.cpp.

References SetContext().

◆ ExecutionContext() [9/18]

ExecutionContext::ExecutionContext ( const lldb::ProcessWP &  process_wp)

Definition at line 59 of file ExecutionContext.cpp.

References SetContext().

◆ ExecutionContext() [10/18]

ExecutionContext::ExecutionContext ( const lldb::ThreadWP &  thread_wp)

Definition at line 66 of file ExecutionContext.cpp.

References SetContext().

◆ ExecutionContext() [11/18]

ExecutionContext::ExecutionContext ( const lldb::StackFrameWP &  frame_wp)

Definition at line 73 of file ExecutionContext.cpp.

References SetContext().

◆ ExecutionContext() [12/18]

ExecutionContext::ExecutionContext ( const ExecutionContextRef exe_ctx_ref)

Definition at line 109 of file ExecutionContext.cpp.

◆ ExecutionContext() [13/18]

ExecutionContext::ExecutionContext ( const ExecutionContextRef exe_ctx_ref,
bool  thread_and_frame_only_if_stopped = false 
)

◆ ExecutionContext() [14/18]

ExecutionContext::ExecutionContext ( const ExecutionContextRef exe_ctx_ref,
std::unique_lock< std::recursive_mutex > &  locker 
)

◆ ExecutionContext() [15/18]

ExecutionContext::ExecutionContext ( const ExecutionContextRef exe_ctx_ref,
std::unique_lock< std::recursive_mutex > &  locker 
)

◆ ExecutionContext() [16/18]

ExecutionContext::ExecutionContext ( ExecutionContextScope exe_scope)

◆ ExecutionContext() [17/18]

ExecutionContext::ExecutionContext ( ExecutionContextScope exe_scope)

◆ ExecutionContext() [18/18]

ExecutionContext::ExecutionContext ( Process process,
Thread thread = nullptr,
StackFrame frame = nullptr 
)

Construct with process, thread, and frame index.

Initialize with process p, thread t, and frame index f.

Parameters
[in]processThe process for this execution context.
[in]threadThe thread for this execution context.
[in]frameThe frame index for this execution context.

Definition at line 96 of file ExecutionContext.cpp.

References lldb_private::Process::GetTarget(), m_frame_sp, m_process_sp, m_target_sp, and m_thread_sp.

◆ ~ExecutionContext()

ExecutionContext::~ExecutionContext ( )
default

Referenced by Clear().

Member Function Documentation

◆ Clear()

void ExecutionContext::Clear ( )

Clear the object's state.

Sets the process and thread to nullptr, and the frame index to an invalid value.

Definition at line 167 of file ExecutionContext.cpp.

References m_frame_sp, m_process_sp, m_target_sp, m_thread_sp, and ~ExecutionContext().

Referenced by lldb_private::Target::CalculateExecutionContext(), and lldb_private::CommandObject::Cleanup().

◆ GetAddressByteSize()

uint32_t ExecutionContext::GetAddressByteSize ( ) const

◆ GetBestExecutionContextScope()

ExecutionContextScope * ExecutionContext::GetBestExecutionContextScope ( ) const

Definition at line 216 of file ExecutionContext.cpp.

References m_frame_sp, m_process_sp, m_target_sp, and m_thread_sp.

Referenced by lldb_private::ClangExpressionDeclMap::AddPersistentVariable(), lldb_private::ValueObject::AddressOf(), lldb_private::Watchpoint::CaptureWatchedValue(), lldb_private::ValueObject::CastPointerType(), lldb_private::ValueObjectRegisterContext::CreateChildAtIndex(), lldb_private::ValueObject::CreateConstantValue(), lldb_private::ValueObject::CreateValueObjectFromAddress(), lldb_private::ValueObject::CreateValueObjectFromData(), lldb_private::StackFrame::Dump(), DumpAddress(), CommandObjectTargetVariable::DumpGlobalVariableList(), CommandObjectRegisterRead::DumpRegister(), lldb_private::UserExpression::Evaluate(), lldb_private::LLVMUserExpression::FinalizeJITExecution(), lldb_private::FormatEntity::Format(), lldb_private::ValueObjectVariable::GetByteSize(), lldb_private::ValueObjectConstResult::GetByteSize(), lldb_private::ClangASTContext::GetChildCompilerTypeAtIndex(), lldb_private::AppleObjCRuntime::GetObjectDescription(), lldb_private::ValueObject::GetPointeeData(), lldb_private::ValueObject::GetSyntheticBase(), lldb_private::ValueObject::GetSyntheticChildAtOffset(), lldb_private::Value::GetValueAsData(), lldb_private::Value::GetValueByteSize(), lldb_private::ClangUtilityFunction::Install(), LookupAddressInModule(), LookupFileAndLineInModule(), LookupFunctionInModule(), LookupSymbolInModule(), lldb_private::CompilerType::ReadFromMemory(), and lldb_private::CompilerType::WriteToMemory().

◆ GetByteOrder()

lldb::ByteOrder ExecutionContext::GetByteOrder ( ) const

◆ GetFramePtr()

StackFrame* lldb_private::ExecutionContext::GetFramePtr ( ) const
inline

Returns a pointer to the frame object.

The returned pointer might be nullptr. Calling HasFrameScope(), can help to pre-validate this pointer so that this accessor can freely be used without having to check for nullptr each time.

See also
ExecutionContext::HasFrameScope() const

Definition at line 407 of file ExecutionContext.h.

Referenced by lldb_private::Variable::AutoComplete(), lldb_private::CommandInterpreter::BuildAliasResult(), lldb_private::CommandObject::CheckRequirements(), lldb_private::Disassembler::Disassemble(), UnwindMacOSXFrameBackchain::DoCreateRegisterContextForFrame(), lldb_private::CommandObjectDisassemble::DoExecute(), CommandObjectTypeLookup::DoExecute(), DumpValue(), lldb_private::DWARFExpression::Evaluate(), lldb_private::UserExpression::Evaluate(), lldb_private::FormatEntity::Format(), lldb_private::AppleObjCRuntime::GetObjectDescription(), lldb_private::Debugger::GetSelectedExecutionContext(), lldb_private::ClangExpressionSourceCode::GetText(), lldb_private::CommandObjectExpression::HandleCompletion(), lldb_private::ValueObjectVariable::IsInScope(), lldb_private::Thread::JumpToLine(), lldb_private::Disassembler::PrintInstructions(), SetupDeclVendor(), SupportsCxxModuleImport(), lldb_private::OptionArgParser::ToAddress(), lldb_private::ValueObjectRegisterContext::UpdateValue(), lldb_private::ValueObjectRegisterSet::UpdateValue(), lldb_private::ValueObjectRegister::UpdateValue(), lldb_private::ClangExpressionDeclMap::WillParse(), StatusBarWindowDelegate::WindowDelegateDraw(), and lldb_private::ClangUserExpression::~ClangUserExpression().

◆ GetFrameRef()

StackFrame & ExecutionContext::GetFrameRef ( ) const

Returns a reference to the thread object.

Clients should call HasFrameScope() prior to calling this function to ensure that this ExecutionContext object contains a valid target.

See also
ExecutionContext::HasFrameScope() const

Definition at line 241 of file ExecutionContext.cpp.

References m_frame_sp.

◆ GetFrameSP()

const lldb::StackFrameSP& lldb_private::ExecutionContext::GetFrameSP ( ) const
inline

◆ GetProcessPtr()

Process * ExecutionContext::GetProcessPtr ( ) const

Returns a pointer to the process object.

The returned pointer might be nullptr. Calling HasProcessScope(), HasThreadScope(), or HasFrameScope() can help to pre-validate this pointer so that this accessor can freely be used without having to check for nullptr each time.

See also
ExecutionContext::HasProcessScope() const
ExecutionContext::HasThreadScope() const
ExecutionContext::HasFrameScope() const

Definition at line 208 of file ExecutionContext.cpp.

References m_process_sp, and m_target_sp.

Referenced by lldb_private::ValueObject::CalculateDynamicValue(), lldb_private::CommandObject::CheckRequirements(), lldb_private::ClangUserExpression::Complete(), lldb_private::RenderScriptRuntime::CreateExceptionResolver(), UnwindMacOSXFrameBackchain::DoCreateRegisterContextForFrame(), lldb_private::LLVMUserExpression::DoExecute(), lldb_private::Address::Dump(), CommandObjectRegisterRead::DumpRegister(), lldb_private::ClangASTContext::DumpSummary(), lldb_private::Thread::DumpUsingSettingsFormat(), lldb_private::UserExpression::Evaluate(), lldb_private::DWARFExpression::Evaluate(), lldb_private::FunctionCaller::ExecuteFunction(), lldb_private::FunctionCaller::FetchFunctionResults(), lldb_private::FormatEntity::Format(), lldb_private::IRExecutionUnit::FreeNow(), lldb_private::ClangASTContext::GetBitSize(), lldb_private::ClangASTContext::GetChildCompilerTypeAtIndex(), lldb_private::CommandObject::GetDefaultThread(), lldb_private::ValueObjectConstResult::GetDynamicValue(), lldb::SBThread::GetExtendedBacktraceThread(), lldb::SBThread::GetFrameAtIndex(), lldb::SBThread::GetInfoItemByPathAsString(), lldb::SBThread::GetNumFrames(), lldb_private::AppleObjCRuntime::GetObjectDescription(), lldb_private::ValueObject::GetObjectDescription(), lldb_private::ValueObject::GetPointeeData(), ProcessOptionValueProperties::GetPropertyAtIndex(), lldb::SBThread::GetSelectedFrame(), lldb_private::Thread::GetStatus(), lldb_private::ClangExpressionDeclMap::GetTargetInfo(), lldb_private::Value::GetValueAsData(), lldb_private::DynamicCheckerFunctions::Install(), lldb_private::ClangUtilityFunction::Install(), IRInterpreter::Interpret(), lldb_private::CommandInterpreter::IOHandlerInterrupt(), lldb_private::ValueObject::IsPossibleDynamicType(), ApplicationDelegate::MenuDelegateAction(), DynamicLoaderMacOS::NotifyBreakpointHit(), DynamicLoaderMacOSXDYLD::NotifyBreakpointHit(), lldb_private::ClangUserExpression::Parse(), lldb_private::ClangExpressionParser::PrepareForExecution(), lldb::SBBreakpointCallbackBaton::PrivateBreakpointHitCallback(), lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadAllRegisterValues(), lldb_private::Type::ReadFromMemory(), lldb_private::CompilerType::ReadFromMemory(), lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadRegisterBytes(), lldb::SBThread::Resume(), lldb_private::Process::RunThreadPlan(), lldb_private::ValueObject::SetData(), lldb::SBThread::SetSelectedFrame(), lldb_private::ValueObject::SetValueFromCString(), lldb::SBThread::Suspend(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectRegister::UpdateValue(), lldb_private::ClangExpressionDeclMap::WillParse(), StatusBarWindowDelegate::WindowDelegateDraw(), SourceFileWindowDelegate::WindowDelegateDraw(), lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteAllRegisterValues(), lldb_private::FunctionCaller::WriteFunctionArguments(), lldb_private::FunctionCaller::WriteFunctionWrapper(), lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteRegisterBytes(), lldb_private::CompilerType::WriteToMemory(), and lldb_private::AppleObjCTrampolineHandler::~AppleObjCTrampolineHandler().

◆ GetProcessRef()

Process & ExecutionContext::GetProcessRef ( ) const

◆ GetProcessSP()

const lldb::ProcessSP& lldb_private::ExecutionContext::GetProcessSP ( ) const
inline

◆ GetRegisterContext()

RegisterContext * ExecutionContext::GetRegisterContext ( ) const

◆ GetTargetPtr()

Target * ExecutionContext::GetTargetPtr ( ) const

Returns a pointer to the target object.

The returned pointer might be nullptr. Calling HasTargetScope(), HasProcessScope(), HasThreadScope(), or HasFrameScope() can help to pre- validate this pointer so that this accessor can freely be used without having to check for nullptr each time.

See also
ExecutionContext::HasTargetScope() const
ExecutionContext::HasProcessScope() const
ExecutionContext::HasThreadScope() const
ExecutionContext::HasFrameScope() const

Definition at line 200 of file ExecutionContext.cpp.

References m_process_sp, and m_target_sp.

Referenced by lldb_private::ClangExpressionDeclMap::AddPersistentVariable(), ApplyObjcCastHack(), lldb_private::ScriptInterpreterPythonImpl::BreakpointCallbackFunction(), lldb_private::BreakpointOptions::BreakpointOptionsCallbackFunction(), lldb_private::CommandInterpreter::BuildAliasResult(), InstructionLLVMC::CalculateMnemonicOperandsAndComment(), lldb_private::CommandObject::CheckRequirements(), lldb_private::ClangUserExpression::Complete(), lldb_private::StackFrame::Disassemble(), lldb_private::Disassembler::Disassemble(), lldb_private::CommandObjectExpression::DoExecute(), lldb_private::Address::Dump(), lldb_private::StackFrame::Dump(), DumpCompileUnitLineTable(), DumpModuleSections(), DumpModuleSymtab(), lldb_private::StackFrame::DumpUsingSettingsFormat(), lldb_private::Type::DumpValueInMemory(), lldb::SBInstruction::EmulateWithFrame(), lldb_private::UserExpression::Evaluate(), lldb_private::DWARFExpression::Evaluate(), lldb_private::UserExpression::Execute(), UnwindAssembly_x86::FirstNonPrologueInsn(), lldb_private::FormatEntity::Format(), lldb_private::IRExecutionUnit::FreeNow(), lldb_private::IRExecutionUnit::GetArchitecture(), lldb_private::ValueObjectRegister::GetCompilerTypeImpl(), lldb_private::CommandObject::GetDefaultThread(), lldb_private::StackFrame::GetFrameBaseValue(), lldb_private::IRExecutionUnit::GetJITModule(), lldb_private::RenderScriptRuntime::GetKernelCoordinate(), lldb_private::AppleObjCRuntime::GetObjectDescription(), lldb_private::CommandInterpreter::GetPlatform(), lldb_private::ValueObject::GetPointeeData(), TargetOptionValueProperties::GetPropertyAtIndex(), lldb_private::StackFrame::GetStatus(), lldb_private::Thread::GetStatus(), lldb_private::Target::GetTargetFromContexts(), lldb_private::ClangExpressionDeclMap::GetTargetInfo(), lldb_private::ClangExpressionSourceCode::GetText(), lldb_private::Value::GetValueAsData(), lldb_private::ClangUtilityFunction::Install(), lldb_private::Thread::JumpToLine(), LookupAddressInModule(), lldb_private::CommandObjectDisassemble::CommandOptions::OptionParsingStarting(), lldb_private::ClangUserExpression::Parse(), lldb_private::Disassembler::ParseInstructions(), lldb_private::ClangExpressionParser::PrepareForExecution(), ReadAddress(), lldb_private::ValueObject::ReadPointedString(), ResolveAddress(), lldb_private::AppleThreadPlanStepThroughObjCTrampoline::ShouldStop(), lldb::SBThread::StepOverUntil(), SupportsCxxModuleImport(), DisassemblerLLVMC::SymbolLookup(), lldb_private::OptionArgParser::ToAddress(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ScriptInterpreterPythonImpl::WatchpointCallbackFunction(), CommandObjectWatchpointCommandAdd::WatchpointOptionsCallbackFunction(), lldb_private::ClangExpressionDeclMap::WillParse(), StatusBarWindowDelegate::WindowDelegateDraw(), SourceFileWindowDelegate::WindowDelegateDraw(), lldb_private::FunctionCaller::WriteFunctionArguments(), and lldb_private::ClangUserExpression::~ClangUserExpression().

◆ GetTargetRef()

Target & ExecutionContext::GetTargetRef ( ) const

◆ GetTargetSP()

const lldb::TargetSP& lldb_private::ExecutionContext::GetTargetSP ( ) const
inline

◆ GetThreadPtr()

Thread* lldb_private::ExecutionContext::GetThreadPtr ( ) const
inline

Returns a pointer to the thread object.

The returned pointer might be nullptr. Calling HasThreadScope() or HasFrameScope() can help to pre-validate this pointer so that this accessor can freely be used without having to check for nullptr each time.

See also
ExecutionContext::HasThreadScope() const
ExecutionContext::HasFrameScope() const

Definition at line 398 of file ExecutionContext.h.

Referenced by lldb_private::CommandObject::CheckRequirements(), lldb_private::DWARFExpression::Evaluate(), lldb_private::FormatEntity::Format(), lldb_private::CommandObject::GetDefaultThread(), lldb::SBThread::GetDescription(), lldb::SBThread::GetFrameAtIndex(), lldb::SBThread::GetInfoItemByPathAsString(), lldb_private::RenderScriptRuntime::GetKernelCoordinate(), lldb::SBThread::GetNumFrames(), lldb_private::AppleObjCRuntime::GetObjectDescription(), ThreadOptionValueProperties::GetPropertyAtIndex(), lldb::SBThread::GetSelectedFrame(), lldb::SBThread::GetStatus(), lldb::SBThread::GetStopReasonExtendedInfoAsJSON(), lldb_private::FunctionCaller::GetThreadPlanToCallFunction(), IRInterpreter::Interpret(), lldb::SBThread::IsStopped(), lldb::SBThread::IsSuspended(), lldb::SBThread::JumpToLine(), lldb::SBBreakpointCallbackBaton::PrivateBreakpointHitCallback(), lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadAllRegisterValues(), lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadRegisterBytes(), lldb::SBThread::Resume(), lldb::SBThread::ReturnFromFrame(), lldb_private::Process::RunThreadPlan(), lldb::SBThread::RunToAddress(), lldb::SBThread::SetSelectedFrame(), lldb::SBThread::StepInstruction(), lldb::SBThread::StepInto(), lldb::SBThread::StepOut(), lldb::SBThread::StepOutOfFrame(), lldb::SBThread::StepOver(), lldb::SBThread::StepOverUntil(), lldb::SBThread::StepUsingScriptedThreadPlan(), lldb::SBThread::Suspend(), lldb::SBThread::UnwindInnermostExpression(), lldb_private::ClangExpressionDeclMap::WillParse(), StatusBarWindowDelegate::WindowDelegateDraw(), SourceFileWindowDelegate::WindowDelegateDraw(), lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteAllRegisterValues(), and lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteRegisterBytes().

◆ GetThreadRef()

Thread & ExecutionContext::GetThreadRef ( ) const

◆ GetThreadSP()

const lldb::ThreadSP& lldb_private::ExecutionContext::GetThreadSP ( ) const
inline

◆ HasFrameScope()

bool ExecutionContext::HasFrameScope ( ) const

Returns true the ExecutionContext object contains a valid target, process, thread and frame.

This function can be called after initializing an ExecutionContext object, and if it returns true, calls to GetTargetPtr(), GetTargetRef(), GetProcessPtr(), GetProcessRef(), GetThreadPtr(), GetThreadRef(), GetFramePtr(), and GetFrameRef() do not need to be checked for validity.

Definition at line 393 of file ExecutionContext.cpp.

References HasThreadScope(), and m_frame_sp.

◆ HasProcessScope()

bool ExecutionContext::HasProcessScope ( ) const

Returns true the ExecutionContext object contains a valid target and process.

This function can be called after initializing an ExecutionContext object, and if it returns true, calls to GetTargetPtr() and GetTargetRef(), GetProcessPtr(), and GetProcessRef(), do not need to be checked for validity.

Definition at line 385 of file ExecutionContext.cpp.

References HasTargetScope(), and m_process_sp.

Referenced by lldb_private::AppleObjCRuntime::GetObjectDescription(), HasThreadScope(), ApplicationDelegate::MenuDelegateAction(), and SourceFileWindowDelegate::WindowDelegateHandleChar().

◆ HasTargetScope()

bool ExecutionContext::HasTargetScope ( ) const

Returns true the ExecutionContext object contains a valid target.

This function can be called after initializing an ExecutionContext object, and if it returns true, calls to GetTargetPtr() and GetTargetRef() do not need to be checked for validity.

Definition at line 381 of file ExecutionContext.cpp.

References m_target_sp.

Referenced by lldb_private::InstructionList::Dump(), lldb_private::Debugger::FormatDisassemblerAddress(), HasProcessScope(), lldb_private::Disassembler::PrintInstructions(), and SourceFileWindowDelegate::WindowDelegateHandleChar().

◆ HasThreadScope()

bool ExecutionContext::HasThreadScope ( ) const

◆ operator!=()

bool ExecutionContext::operator!= ( const ExecutionContext rhs) const

Definition at line 377 of file ExecutionContext.cpp.

◆ operator=()

ExecutionContext & ExecutionContext::operator= ( const ExecutionContext rhs)

Definition at line 347 of file ExecutionContext.cpp.

References m_frame_sp, m_process_sp, m_target_sp, and m_thread_sp.

◆ operator==()

bool ExecutionContext::operator== ( const ExecutionContext rhs) const

Definition at line 357 of file ExecutionContext.cpp.

References m_frame_sp, m_process_sp, m_target_sp, and m_thread_sp.

◆ SetContext() [1/4]

void ExecutionContext::SetContext ( const lldb::TargetSP &  target_sp,
bool  get_process 
)

◆ SetContext() [2/4]

void ExecutionContext::SetContext ( const lldb::ProcessSP &  process_sp)

Definition at line 301 of file ExecutionContext.cpp.

References m_frame_sp, m_process_sp, m_target_sp, and m_thread_sp.

◆ SetContext() [3/4]

void ExecutionContext::SetContext ( const lldb::ThreadSP &  thread_sp)

Definition at line 311 of file ExecutionContext.cpp.

References m_frame_sp, m_process_sp, m_target_sp, and m_thread_sp.

◆ SetContext() [4/4]

void ExecutionContext::SetContext ( const lldb::StackFrameSP &  frame_sp)

Definition at line 326 of file ExecutionContext.cpp.

References m_frame_sp, m_process_sp, m_target_sp, and m_thread_sp.

◆ SetFramePtr()

void ExecutionContext::SetFramePtr ( StackFrame frame)

Set accessor to set only the frame shared pointer from a frame pointer.

Definition at line 283 of file ExecutionContext.cpp.

References m_frame_sp.

Referenced by lldb_private::Process::CalculateExecutionContext().

◆ SetFrameSP()

void ExecutionContext::SetFrameSP ( const lldb::StackFrameSP &  frame_sp)

◆ SetProcessPtr()

void ExecutionContext::SetProcessPtr ( Process process)

Set accessor to set only the process shared pointer from a process pointer.

Definition at line 269 of file ExecutionContext.cpp.

References m_process_sp.

Referenced by lldb_private::Process::CalculateExecutionContext().

◆ SetProcessSP()

void ExecutionContext::SetProcessSP ( const lldb::ProcessSP &  process_sp)

◆ SetTargetPtr()

void ExecutionContext::SetTargetPtr ( Target target)

Set accessor to set only the target shared pointer from a target pointer.

Definition at line 262 of file ExecutionContext.cpp.

References m_target_sp.

Referenced by lldb_private::Target::CalculateExecutionContext(), and lldb_private::Process::CalculateExecutionContext().

◆ SetTargetSP()

void ExecutionContext::SetTargetSP ( const lldb::TargetSP &  target_sp)

Set accessor to set only the target shared pointer.

Definition at line 246 of file ExecutionContext.cpp.

References m_target_sp.

Referenced by lldb_private::Debugger::GetSelectedExecutionContext().

◆ SetThreadPtr()

void ExecutionContext::SetThreadPtr ( Thread thread)

Set accessor to set only the thread shared pointer from a thread pointer.

Definition at line 276 of file ExecutionContext.cpp.

References m_thread_sp.

Referenced by lldb_private::Process::CalculateExecutionContext().

◆ SetThreadSP()

void ExecutionContext::SetThreadSP ( const lldb::ThreadSP &  thread_sp)

Set accessor to set only the thread shared pointer.

Definition at line 254 of file ExecutionContext.cpp.

References m_thread_sp.

Referenced by lldb_private::AppleObjCRuntime::GetObjectDescription(), and lldb_private::Debugger::GetSelectedExecutionContext().

Member Data Documentation

◆ m_frame_sp

lldb::StackFrameSP lldb_private::ExecutionContext::m_frame_sp
protected

◆ m_process_sp

lldb::ProcessSP lldb_private::ExecutionContext::m_process_sp
protected

◆ m_target_sp

lldb::TargetSP lldb_private::ExecutionContext::m_target_sp
protected

◆ m_thread_sp

lldb::ThreadSP lldb_private::ExecutionContext::m_thread_sp
protected

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