LLDB mainline
|
#include <StopInfo.h>
Public Member Functions | |
StopInfo (Thread &thread, uint64_t value) | |
virtual | ~StopInfo ()=default |
bool | IsValid () const |
void | SetThread (const lldb::ThreadSP &thread_sp) |
lldb::ThreadSP | GetThread () const |
uint64_t | GetValue () const |
virtual lldb::StopReason | GetStopReason () const =0 |
virtual bool | ShouldStopSynchronous (Event *event_ptr) |
void | OverrideShouldNotify (bool override_value) |
virtual bool | ShouldNotify (Event *event_ptr) |
virtual void | WillResume (lldb::StateType resume_state) |
virtual const char * | GetDescription () |
virtual void | SetDescription (const char *desc_cstr) |
virtual bool | IsValidForOperatingSystemThread (Thread &thread) |
virtual bool | WasContinueInterrupted (Thread &thread) |
A Continue operation can result in a false stop event before any execution has happened. | |
void | OverrideShouldStop (bool override_value) |
bool | GetOverrideShouldStop () |
bool | GetOverriddenShouldStopValue () |
StructuredData::ObjectSP | GetExtendedInfo () |
Protected Member Functions | |
virtual void | PerformAction (Event *event_ptr) |
virtual bool | DoShouldNotify (Event *event_ptr) |
virtual bool | ShouldStop (Event *event_ptr) |
bool | HasTargetRunSinceMe () |
void | MakeStopInfoValid () |
Protected Attributes | |
lldb::ThreadWP | m_thread_wp |
uint32_t | m_stop_id |
uint32_t | m_resume_id |
uint64_t | m_value |
std::string | m_description |
LazyBool | m_override_should_notify |
LazyBool | m_override_should_stop |
StructuredData::ObjectSP | m_extended_info |
Private Member Functions | |
StopInfo (const StopInfo &)=delete | |
const StopInfo & | operator= (const StopInfo &)=delete |
Friends | |
class | Process::ProcessEventData |
class | ThreadPlanBase |
class | Thread |
Definition at line 20 of file StopInfo.h.
StopInfo::StopInfo | ( | Thread & | thread, |
uint64_t | value | ||
) |
Definition at line 33 of file StopInfo.cpp.
|
virtualdefault |
|
privatedelete |
|
static |
Definition at line 1446 of file StopInfo.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
Definition at line 1437 of file StopInfo.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
Definition at line 1421 of file StopInfo.cpp.
Referenced by lldb_private::ScriptedThread::CalculateStopInfo(), lldb_private::StopInfoMachException::CreateStopReasonWithMachException(), lldb_private::ThreadPlanStepInRange::DoWillResume(), lldb_private::ProcessWindows::RefreshStateAfterStop(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
Definition at line 1453 of file StopInfo.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
Definition at line 1459 of file StopInfo.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
Referenced by lldb_private::ScriptedThread::CalculateStopInfo(), lldb_private::process_gdb_remote::ProcessGDBRemote::CalculateThreadStopInfo(), lldb_private::StopInfoMachException::CreateStopReasonWithMachException(), GetStopInfoForHardwareBP(), lldb_private::ProcessWindows::RefreshStateAfterStop(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
|
static |
Definition at line 1432 of file StopInfo.cpp.
Referenced by ThreadMachCore::CalculateStopInfo(), lldb_private::ScriptedThread::CalculateStopInfo(), lldb_private::minidump::ProcessMinidump::RefreshStateAfterStop(), lldb_private::ProcessWindows::RefreshStateAfterStop(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
Definition at line 1442 of file StopInfo.cpp.
Referenced by lldb_private::StopInfoMachException::CreateStopReasonWithMachException(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
Definition at line 1416 of file StopInfo.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::HandleThreadAsyncInterrupt().
|
static |
Definition at line 1425 of file StopInfo.cpp.
Referenced by lldb_private::Thread::GetStopInfo().
|
static |
Definition at line 1409 of file StopInfo.cpp.
References lldb_private::Thread::GetProcess().
Referenced by ThreadElfCore::CalculateStopInfo(), ThreadKDP::CalculateStopInfo(), lldb_private::ScriptedThread::CalculateStopInfo(), lldb_private::StopInfoMachException::CreateStopReasonWithMachException(), lldb_private::minidump::ProcessMinidump::RefreshStateAfterStop(), lldb_private::Thread::SetStopInfoToNothing(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
|
inlineprotectedvirtual |
Reimplemented in lldb_private::InstrumentationRuntimeStopInfo, lldb_private::StopInfoBreakpoint, and lldb_private::StopInfoUnixSignal.
Definition at line 172 of file StopInfo.h.
Referenced by ShouldNotify().
|
static |
Definition at line 1484 of file StopInfo.cpp.
References DoNoSelectMostRelevantFrame.
Referenced by CommandObjectFrameDiagnose::DoExecute(), and lldb_private::Process::HandleProcessStateChangedEvent().
|
inlinevirtual |
Reimplemented in lldb_private::InstrumentationRuntimeStopInfo, lldb_private::StopInfoMachException, lldb_private::StopInfoBreakpoint, lldb_private::StopInfoWatchpoint, lldb_private::StopInfoUnixSignal, lldb_private::StopInfoInterrupt, lldb_private::StopInfoTrace, lldb_private::StopInfoException, lldb_private::StopInfoProcessorTrace, lldb_private::StopInfoThreadPlan, lldb_private::StopInfoExec, lldb_private::StopInfoFork, lldb_private::StopInfoVFork, and lldb_private::StopInfoVForkDone.
Definition at line 71 of file StopInfo.h.
References m_description.
|
static |
Definition at line 1473 of file StopInfo.cpp.
References lldb::eStopReasonPlanComplete, and lldb_private::StopInfoThreadPlan::GetExpressionVariable().
Referenced by lldb_private::FormatEntity::Format().
|
inline |
Definition at line 106 of file StopInfo.h.
References m_extended_info.
|
inline |
Definition at line 102 of file StopInfo.h.
References lldb_private::eLazyBoolYes, and m_override_should_stop.
|
inline |
Definition at line 98 of file StopInfo.h.
References lldb_private::eLazyBoolCalculate, and m_override_should_stop.
|
static |
Definition at line 1463 of file StopInfo.cpp.
References lldb::eStopReasonPlanComplete, and lldb_private::StopInfoThreadPlan::GetReturnValueObject().
Referenced by lldb_private::FormatEntity::Format(), and lldb::SBThread::GetStopReturnValue().
|
pure virtual |
Implemented in lldb_private::InstrumentationRuntimeStopInfo, lldb_private::StopInfoMachException, lldb_private::StopInfoBreakpoint, lldb_private::StopInfoWatchpoint, lldb_private::StopInfoUnixSignal, lldb_private::StopInfoInterrupt, lldb_private::StopInfoTrace, lldb_private::StopInfoException, lldb_private::StopInfoProcessorTrace, lldb_private::StopInfoThreadPlan, lldb_private::StopInfoExec, lldb_private::StopInfoFork, lldb_private::StopInfoVFork, and lldb_private::StopInfoVForkDone.
|
inline |
Definition at line 34 of file StopInfo.h.
References m_thread_wp.
Referenced by lldb_private::StopInfoBreakpoint::PerformAction().
|
inline |
Definition at line 45 of file StopInfo.h.
References m_value.
Referenced by lldb_private::StopInfoMachException::GetDescription(), lldb_private::StopInfoWatchpoint::PerformAction(), and lldb_private::StopInfoWatchpoint::ShouldStopSynchronous().
|
protected |
Definition at line 55 of file StopInfo.cpp.
References lldb::eStateRunning, lldb::eStateStopped, m_resume_id, and m_thread_wp.
Referenced by lldb_private::StopInfoBreakpoint::PerformAction(), and lldb_private::StopInfoWatchpoint::PerformAction().
bool StopInfo::IsValid | ( | ) | const |
Definition at line 40 of file StopInfo.cpp.
References m_stop_id, and m_thread_wp.
|
inlinevirtual |
Reimplemented in lldb_private::StopInfoBreakpoint.
Definition at line 80 of file StopInfo.h.
|
protected |
Definition at line 47 of file StopInfo.cpp.
References m_resume_id, m_stop_id, and m_thread_wp.
|
inline |
Definition at line 55 of file StopInfo.h.
References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, and m_override_should_notify.
|
inline |
Definition at line 94 of file StopInfo.h.
References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, and m_override_should_stop.
|
inlineprotectedvirtual |
Reimplemented in lldb_private::StopInfoBreakpoint, lldb_private::StopInfoWatchpoint, lldb_private::StopInfoExec, lldb_private::StopInfoFork, lldb_private::StopInfoVFork, and lldb_private::StopInfoVForkDone.
Definition at line 170 of file StopInfo.h.
|
inlinevirtual |
Definition at line 73 of file StopInfo.h.
References m_description.
Referenced by lldb_private::StopInfoException::StopInfoException(), lldb_private::StopInfoInterrupt::StopInfoInterrupt(), lldb_private::StopInfoProcessorTrace::StopInfoProcessorTrace(), and lldb_private::StopInfoUnixSignal::StopInfoUnixSignal().
|
inline |
Definition at line 32 of file StopInfo.h.
References m_thread_wp.
|
inlinevirtual |
Definition at line 60 of file StopInfo.h.
References DoShouldNotify(), lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, and m_override_should_notify.
|
inlineprotectedvirtual |
Reimplemented in lldb_private::StopInfoBreakpoint, lldb_private::StopInfoWatchpoint, lldb_private::StopInfoUnixSignal, lldb_private::StopInfoThreadPlan, lldb_private::StopInfoExec, lldb_private::StopInfoFork, lldb_private::StopInfoVFork, and lldb_private::StopInfoVForkDone.
Definition at line 181 of file StopInfo.h.
Referenced by lldb_private::StopInfoThreadPlan::ShouldStop().
|
inlinevirtual |
Reimplemented in lldb_private::StopInfoBreakpoint, lldb_private::StopInfoWatchpoint, and lldb_private::StopInfoUnixSignal.
Definition at line 53 of file StopInfo.h.
|
inlinevirtual |
A Continue operation can result in a false stop event before any execution has happened.
We need to detect this and silently continue again one more time.
Reimplemented in lldb_private::StopInfoMachException.
Definition at line 85 of file StopInfo.h.
|
inlinevirtual |
Reimplemented in lldb_private::StopInfoUnixSignal.
Definition at line 67 of file StopInfo.h.
Referenced by lldb_private::Thread::ShouldResume().
|
friend |
Definition at line 21 of file StopInfo.h.
|
friend |
Definition at line 207 of file StopInfo.h.
|
friend |
Definition at line 22 of file StopInfo.h.
|
protected |
Definition at line 189 of file StopInfo.h.
Referenced by lldb_private::StopInfoMachException::DeterminePtrauthFailure(), GetDescription(), lldb_private::InstrumentationRuntimeStopInfo::GetDescription(), lldb_private::StopInfoMachException::GetDescription(), lldb_private::StopInfoBreakpoint::GetDescription(), lldb_private::StopInfoWatchpoint::GetDescription(), lldb_private::StopInfoUnixSignal::GetDescription(), lldb_private::StopInfoInterrupt::GetDescription(), lldb_private::StopInfoTrace::GetDescription(), lldb_private::StopInfoException::GetDescription(), lldb_private::StopInfoProcessorTrace::GetDescription(), lldb_private::StopInfoThreadPlan::GetDescription(), lldb_private::InstrumentationRuntimeStopInfo::InstrumentationRuntimeStopInfo(), and SetDescription().
|
protected |
Definition at line 194 of file StopInfo.h.
Referenced by GetExtendedInfo(), and lldb_private::InstrumentationRuntimeStopInfo::InstrumentationRuntimeStopInfo().
|
protected |
Definition at line 190 of file StopInfo.h.
Referenced by OverrideShouldNotify(), and ShouldNotify().
|
protected |
Definition at line 191 of file StopInfo.h.
Referenced by GetOverriddenShouldStopValue(), GetOverrideShouldStop(), and OverrideShouldStop().
|
protected |
Definition at line 186 of file StopInfo.h.
Referenced by HasTargetRunSinceMe(), and MakeStopInfoValid().
|
protected |
Definition at line 185 of file StopInfo.h.
Referenced by IsValid(), and MakeStopInfoValid().
|
protected |
Definition at line 184 of file StopInfo.h.
Referenced by lldb_private::StopInfoUnixSignal::DoShouldNotify(), lldb_private::StopInfoMachException::GetDescription(), lldb_private::StopInfoBreakpoint::GetDescription(), lldb_private::StopInfoUnixSignal::GetDescription(), GetThread(), HasTargetRunSinceMe(), IsValid(), MakeStopInfoValid(), lldb_private::StopInfoBreakpoint::PerformAction(), lldb_private::StopInfoWatchpoint::PerformAction(), lldb_private::StopInfoExec::PerformAction(), lldb_private::StopInfoFork::PerformAction(), lldb_private::StopInfoVFork::PerformAction(), lldb_private::StopInfoVForkDone::PerformAction(), SetThread(), lldb_private::StopInfoUnixSignal::ShouldStop(), lldb_private::StopInfoExec::ShouldStop(), lldb_private::StopInfoBreakpoint::ShouldStopSynchronous(), lldb_private::StopInfoWatchpoint::ShouldStopSynchronous(), lldb_private::StopInfoUnixSignal::ShouldStopSynchronous(), lldb_private::StopInfoBreakpoint::StoreBPInfo(), and lldb_private::StopInfoUnixSignal::WillResume().
|
protected |
Definition at line 187 of file StopInfo.h.
Referenced by lldb_private::StopInfoMachException::DeterminePtrauthFailure(), lldb_private::StopInfoUnixSignal::DoShouldNotify(), lldb_private::StopInfoMachException::GetDescription(), lldb_private::StopInfoBreakpoint::GetDescription(), lldb_private::StopInfoWatchpoint::GetDescription(), lldb_private::StopInfoUnixSignal::GetDescription(), GetValue(), lldb_private::StopInfoBreakpoint::IsValidForOperatingSystemThread(), lldb_private::StopInfoBreakpoint::PerformAction(), lldb_private::StopInfoWatchpoint::PerformAction(), lldb_private::StopInfoUnixSignal::ShouldStop(), lldb_private::StopInfoBreakpoint::ShouldStopSynchronous(), lldb_private::StopInfoUnixSignal::ShouldStopSynchronous(), lldb_private::StopInfoBreakpoint::StoreBPInfo(), and lldb_private::StopInfoUnixSignal::WillResume().