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) |
void | OverrideShouldStop (bool override_value) |
bool | GetOverrideShouldStop () |
bool | GetOverriddenShouldStopValue () |
StructuredData::ObjectSP | GetExtendedInfo () |
Static Public Member Functions | |
static lldb::StopInfoSP | CreateStopReasonWithBreakpointSiteID (Thread &thread, lldb::break_id_t break_id) |
static lldb::StopInfoSP | CreateStopReasonWithBreakpointSiteID (Thread &thread, lldb::break_id_t break_id, bool should_stop) |
static lldb::StopInfoSP | CreateStopReasonWithWatchpointID (Thread &thread, lldb::break_id_t watch_id, bool silently_continue=false) |
static lldb::StopInfoSP | CreateStopReasonWithSignal (Thread &thread, int signo, const char *description=nullptr, std::optional< int > code=std::nullopt) |
static lldb::StopInfoSP | CreateStopReasonToTrace (Thread &thread) |
static lldb::StopInfoSP | CreateStopReasonWithPlan (lldb::ThreadPlanSP &plan, lldb::ValueObjectSP return_valobj_sp, lldb::ExpressionVariableSP expression_variable_sp) |
static lldb::StopInfoSP | CreateStopReasonWithException (Thread &thread, const char *description) |
static lldb::StopInfoSP | CreateStopReasonWithExec (Thread &thread) |
static lldb::StopInfoSP | CreateStopReasonProcessorTrace (Thread &thread, const char *description) |
static lldb::StopInfoSP | CreateStopReasonFork (Thread &thread, lldb::pid_t child_pid, lldb::tid_t child_tid) |
static lldb::StopInfoSP | CreateStopReasonVFork (Thread &thread, lldb::pid_t child_pid, lldb::tid_t child_tid) |
static lldb::StopInfoSP | CreateStopReasonVForkDone (Thread &thread) |
static lldb::ValueObjectSP | GetReturnValueObject (lldb::StopInfoSP &stop_info_sp) |
static lldb::ExpressionVariableSP | GetExpressionVariable (lldb::StopInfoSP &stop_info_sp) |
static lldb::ValueObjectSP | GetCrashingDereference (lldb::StopInfoSP &stop_info_sp, lldb::addr_t *crashing_address=nullptr) |
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 32 of file StopInfo.cpp.
|
virtualdefault |
|
privatedelete |
|
static |
Definition at line 1405 of file StopInfo.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
Definition at line 1396 of file StopInfo.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
Definition at line 1380 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 1412 of file StopInfo.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
Definition at line 1418 of file StopInfo.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
|
static |
|
static |
Definition at line 1391 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 1401 of file StopInfo.cpp.
Referenced by lldb_private::StopInfoMachException::CreateStopReasonWithMachException(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().
|
static |
Definition at line 1384 of file StopInfo.cpp.
Referenced by lldb_private::Thread::GetStopInfo().
|
static |
Definition at line 1373 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 163 of file StopInfo.h.
Referenced by ShouldNotify().
|
static |
Definition at line 1443 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::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 1432 of file StopInfo.cpp.
References lldb::eStopReasonPlanComplete, and lldb_private::StopInfoThreadPlan::GetExpressionVariable().
Referenced by lldb_private::FormatEntity::Format().
|
inline |
Definition at line 101 of file StopInfo.h.
References m_extended_info.
|
inline |
Definition at line 97 of file StopInfo.h.
References lldb_private::eLazyBoolYes, and m_override_should_stop.
|
inline |
Definition at line 93 of file StopInfo.h.
References lldb_private::eLazyBoolCalculate, and m_override_should_stop.
|
static |
Definition at line 1422 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::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 54 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 39 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 46 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 89 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 161 of file StopInfo.h.
|
inlinevirtual |
Definition at line 73 of file StopInfo.h.
References m_description.
Referenced by lldb_private::StopInfoException::StopInfoException(), 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 172 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 |
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 198 of file StopInfo.h.
|
friend |
Definition at line 22 of file StopInfo.h.
|
protected |
Definition at line 180 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::StopInfoTrace::GetDescription(), lldb_private::StopInfoException::GetDescription(), lldb_private::StopInfoProcessorTrace::GetDescription(), lldb_private::StopInfoThreadPlan::GetDescription(), lldb_private::InstrumentationRuntimeStopInfo::InstrumentationRuntimeStopInfo(), and SetDescription().
|
protected |
Definition at line 185 of file StopInfo.h.
Referenced by GetExtendedInfo(), and lldb_private::InstrumentationRuntimeStopInfo::InstrumentationRuntimeStopInfo().
|
protected |
Definition at line 181 of file StopInfo.h.
Referenced by OverrideShouldNotify(), and ShouldNotify().
|
protected |
Definition at line 182 of file StopInfo.h.
Referenced by GetOverriddenShouldStopValue(), GetOverrideShouldStop(), and OverrideShouldStop().
|
protected |
Definition at line 177 of file StopInfo.h.
Referenced by HasTargetRunSinceMe(), and MakeStopInfoValid().
|
protected |
Definition at line 176 of file StopInfo.h.
Referenced by IsValid(), and MakeStopInfoValid().
|
protected |
Definition at line 175 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 178 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().