LLDB mainline
|
#include <ThreadPlanShouldStopHere.h>
Classes | |
struct | ThreadPlanShouldStopHereCallbacks |
Public Types | |
enum | { eNone = 0 , eAvoidInlines = (1 << 0) , eStepInAvoidNoDebug = (1 << 1) , eStepOutAvoidNoDebug = (1 << 2) } |
Public Member Functions | |
ThreadPlanShouldStopHere (ThreadPlan *owner) | |
ThreadPlanShouldStopHere (ThreadPlan *owner, const ThreadPlanShouldStopHereCallbacks *callbacks, void *baton=nullptr) | |
virtual | ~ThreadPlanShouldStopHere () |
void | SetShouldStopHereCallbacks (const ThreadPlanShouldStopHereCallbacks *callbacks, void *baton) |
void | ClearShouldStopHereCallbacks () |
bool | InvokeShouldStopHereCallback (lldb::FrameComparison operation, Status &status) |
lldb::ThreadPlanSP | CheckShouldStopHereAndQueueStepOut (lldb::FrameComparison operation, Status &status) |
lldb_private::Flags & | GetFlags () |
const lldb_private::Flags & | GetFlags () const |
Protected Member Functions | |
virtual lldb::ThreadPlanSP | QueueStepOutFromHerePlan (Flags &flags, lldb::FrameComparison operation, Status &status) |
virtual void | SetFlagsToDefault ()=0 |
Static Protected Member Functions | |
static bool | DefaultShouldStopHereCallback (ThreadPlan *current_plan, Flags &flags, lldb::FrameComparison operation, Status &status, void *baton) |
static lldb::ThreadPlanSP | DefaultStepFromHereCallback (ThreadPlan *current_plan, Flags &flags, lldb::FrameComparison operation, Status &status, void *baton) |
Protected Attributes | |
ThreadPlanShouldStopHereCallbacks | m_callbacks |
void * | m_baton |
ThreadPlan * | m_owner |
lldb_private::Flags | m_flags |
Private Member Functions | |
ThreadPlanShouldStopHere (const ThreadPlanShouldStopHere &)=delete | |
const ThreadPlanShouldStopHere & | operator= (const ThreadPlanShouldStopHere &)=delete |
Definition at line 34 of file ThreadPlanShouldStopHere.h.
anonymous enum |
Enumerator | |
---|---|
eNone | |
eAvoidInlines | |
eStepInAvoidNoDebug | |
eStepOutAvoidNoDebug |
Definition at line 58 of file ThreadPlanShouldStopHere.h.
ThreadPlanShouldStopHere::ThreadPlanShouldStopHere | ( | ThreadPlan * | owner | ) |
Definition at line 20 of file ThreadPlanShouldStopHere.cpp.
References DefaultShouldStopHereCallback(), DefaultStepFromHereCallback(), m_callbacks, lldb_private::ThreadPlanShouldStopHere::ThreadPlanShouldStopHereCallbacks::should_stop_here_callback, and lldb_private::ThreadPlanShouldStopHere::ThreadPlanShouldStopHereCallbacks::step_from_here_callback.
ThreadPlanShouldStopHere::ThreadPlanShouldStopHere | ( | ThreadPlan * | owner, |
const ThreadPlanShouldStopHereCallbacks * | callbacks, | ||
void * | baton = nullptr |
||
) |
Definition at line 29 of file ThreadPlanShouldStopHere.cpp.
References SetShouldStopHereCallbacks().
|
virtualdefault |
|
privatedelete |
lldb::ThreadPlanSP ThreadPlanShouldStopHere::CheckShouldStopHereAndQueueStepOut | ( | lldb::FrameComparison | operation, |
Status & | status | ||
) |
Definition at line 155 of file ThreadPlanShouldStopHere.cpp.
References InvokeShouldStopHereCallback(), m_flags, and QueueStepOutFromHerePlan().
Referenced by lldb_private::ThreadPlanStepInRange::ShouldStop(), and lldb_private::ThreadPlanStepOverRange::ShouldStop().
|
inline |
Definition at line 95 of file ThreadPlanShouldStopHere.h.
References lldb_private::ThreadPlanShouldStopHere::ThreadPlanShouldStopHereCallbacks::Clear(), and m_callbacks.
Referenced by lldb_private::Thread::QueueThreadPlanForStepOutNoShouldStop(), and SetShouldStopHereCallbacks().
|
staticprotected |
Definition at line 58 of file ThreadPlanShouldStopHere.cpp.
References lldb::eFrameCompareOlder, lldb::eFrameCompareSameParent, lldb::eFrameCompareYounger, eStepInAvoidNoDebug, eStepOutAvoidNoDebug, lldb_private::GetLog(), lldb_private::Thread::GetStackFrameAtIndex(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::ThreadPlan::GetThread(), lldb_private::StackFrame::HasDebugInformation(), lldb_private::LineEntry::line, lldb_private::SymbolContext::line_entry, LLDB_LOGF, lldb_private::Step, and lldb_private::Flags::Test().
Referenced by lldb_private::ThreadPlanStepInRange::DefaultShouldStopHereCallback(), SetShouldStopHereCallbacks(), and ThreadPlanShouldStopHere().
|
staticprotected |
Definition at line 94 of file ThreadPlanShouldStopHere.cpp.
References lldb_private::AddressRange::ContainsFileAddress(), lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb::eOnlyDuringStepping, lldb_private::eVoteNo, lldb_private::eVoteNoOpinion, lldb_private::Symbol::GetAddress(), lldb_private::Symbol::GetByteSize(), lldb_private::GetLog(), lldb_private::Thread::GetStackFrameAtIndex(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::ThreadPlan::GetThread(), lldb_private::LineEntry::line, lldb_private::SymbolContext::line_entry, LLDB_LOGF, lldb_private::Thread::QueueThreadPlanForStepInRange(), lldb_private::Thread::QueueThreadPlanForStepOutNoShouldStop(), lldb_private::LineEntry::range, lldb_private::Address::Slide(), lldb_private::Step, lldb_private::SymbolContext::symbol, and lldb_private::Symbol::ValueIsAddress().
Referenced by SetShouldStopHereCallbacks(), and ThreadPlanShouldStopHere().
|
inline |
Definition at line 104 of file ThreadPlanShouldStopHere.h.
References m_flags.
Referenced by lldb_private::AppleThreadPlanStepThroughDirectDispatch::AppleThreadPlanStepThroughDirectDispatch(), lldb_private::ThreadPlanStepInRange::SetFlagsToDefault(), lldb_private::ThreadPlanStepOut::SetFlagsToDefault(), lldb_private::ThreadPlanStepOverRange::SetFlagsToDefault(), lldb_private::AppleThreadPlanStepThroughDirectDispatch::SetFlagsToDefault(), lldb_private::ThreadPlanStepInRange::SetupAvoidNoDebug(), lldb_private::ThreadPlanStepOut::SetupAvoidNoDebug(), and lldb_private::ThreadPlanStepOverRange::SetupAvoidNoDebug().
|
inline |
Definition at line 106 of file ThreadPlanShouldStopHere.h.
References m_flags.
bool ThreadPlanShouldStopHere::InvokeShouldStopHereCallback | ( | lldb::FrameComparison | operation, |
Status & | status | ||
) |
Definition at line 39 of file ThreadPlanShouldStopHere.cpp.
References lldb_private::GetLog(), lldb_private::Thread::GetRegisterContext(), lldb_private::ThreadPlan::GetThread(), LLDB_LOGF, m_baton, m_callbacks, m_flags, m_owner, lldb_private::ThreadPlanShouldStopHere::ThreadPlanShouldStopHereCallbacks::should_stop_here_callback, and lldb_private::Step.
Referenced by CheckShouldStopHereAndQueueStepOut(), lldb_private::ThreadPlanStepOut::DoPlanExplainsStop(), lldb_private::ThreadPlanStepOut::ShouldStop(), and lldb_private::AppleThreadPlanStepThroughDirectDispatch::ShouldStop().
|
privatedelete |
|
protectedvirtual |
Definition at line 144 of file ThreadPlanShouldStopHere.cpp.
References m_baton, m_callbacks, m_owner, and lldb_private::ThreadPlanShouldStopHere::ThreadPlanShouldStopHereCallbacks::step_from_here_callback.
Referenced by CheckShouldStopHereAndQueueStepOut(), and lldb_private::ThreadPlanStepOut::ShouldStop().
|
protectedpure virtual |
|
inline |
Definition at line 79 of file ThreadPlanShouldStopHere.h.
References ClearShouldStopHereCallbacks(), DefaultShouldStopHereCallback(), DefaultStepFromHereCallback(), m_baton, m_callbacks, lldb_private::ThreadPlanShouldStopHere::ThreadPlanShouldStopHereCallbacks::should_stop_here_callback, and lldb_private::ThreadPlanShouldStopHere::ThreadPlanShouldStopHereCallbacks::step_from_here_callback.
Referenced by lldb_private::ThreadPlanStepInRange::SetCallbacks(), ThreadPlanShouldStopHere(), and lldb_private::ThreadPlanStepOut::ThreadPlanStepOut().
|
protected |
Definition at line 128 of file ThreadPlanShouldStopHere.h.
Referenced by InvokeShouldStopHereCallback(), QueueStepOutFromHerePlan(), and SetShouldStopHereCallbacks().
|
protected |
Definition at line 127 of file ThreadPlanShouldStopHere.h.
Referenced by ClearShouldStopHereCallbacks(), InvokeShouldStopHereCallback(), QueueStepOutFromHerePlan(), SetShouldStopHereCallbacks(), and ThreadPlanShouldStopHere().
|
protected |
Definition at line 130 of file ThreadPlanShouldStopHere.h.
Referenced by CheckShouldStopHereAndQueueStepOut(), GetFlags(), InvokeShouldStopHereCallback(), and lldb_private::ThreadPlanStepOut::ShouldStop().
|
protected |
Definition at line 129 of file ThreadPlanShouldStopHere.h.
Referenced by InvokeShouldStopHereCallback(), and QueueStepOutFromHerePlan().