LLDB mainline
lldb_private::StopInfoBreakpoint Class Reference
Inheritance diagram for lldb_private::StopInfoBreakpoint:
[legend]

Public Member Functions

 StopInfoBreakpoint (Thread &thread, break_id_t break_id)
 StopInfoBreakpoint (Thread &thread, break_id_t break_id, bool should_stop)
 ~StopInfoBreakpoint () override=default
void StoreBPInfo ()
bool IsValidForOperatingSystemThread (Thread &thread) override
StopReason GetStopReason () const override
bool ShouldStopSynchronous (Event *event_ptr) override
bool DoShouldNotify (Event *event_ptr) override
const char * GetDescription () override
uint32_t GetStopReasonDataCount () const override
uint64_t GetStopReasonDataAtIndex (uint32_t idx) override
std::optional< uint32_t > GetSuggestedStackFrameIndex (bool inlined_stack) override
 This gives the StopInfo a chance to suggest a stack frame to select.
bool ShouldShow () const override
 Returns true if this is a stop reason that should be shown to a user when viewing the thread with this stop info.
bool ShouldSelect () const override
 Returns true if this is a stop reason that should cause a thread to be selected when stopping.
Public Member Functions inherited from lldb_private::StopInfo
 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
void OverrideShouldNotify (bool override_value)
virtual bool ShouldNotify (Event *event_ptr)
virtual void WillResume (lldb::StateType resume_state)
virtual void SetDescription (const char *desc_cstr)
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

bool ShouldStop (Event *event_ptr) override
void PerformAction (Event *event_ptr) override
Protected Member Functions inherited from lldb_private::StopInfo
bool HasTargetRunSinceMe ()
void MakeStopInfoValid ()

Private Member Functions

BreakpointSiteSP GetBreakpointSiteSP () const

Private Attributes

bool m_should_stop
bool m_should_stop_is_valid
bool m_should_perform_action
lldb::addr_t m_address
lldb::break_id_t m_break_id
bool m_was_all_internal
bool m_was_one_shot

Additional Inherited Members

Static Public Member Functions inherited from lldb_private::StopInfo
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 CreateStopReasonWithInterrupt (Thread &thread, int signo, const char *description)
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 CreateStopReasonHistoryBoundary (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 Attributes inherited from lldb_private::StopInfo
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

Detailed Description

Definition at line 88 of file StopInfo.cpp.

Constructor & Destructor Documentation

◆ StopInfoBreakpoint() [1/2]

lldb_private::StopInfoBreakpoint::StopInfoBreakpoint ( Thread & thread,
break_id_t break_id )
inline

◆ StopInfoBreakpoint() [2/2]

lldb_private::StopInfoBreakpoint::StopInfoBreakpoint ( Thread & thread,
break_id_t break_id,
bool should_stop )
inline

◆ ~StopInfoBreakpoint()

lldb_private::StopInfoBreakpoint::~StopInfoBreakpoint ( )
overridedefault

Member Function Documentation

◆ DoShouldNotify()

bool lldb_private::StopInfoBreakpoint::DoShouldNotify ( Event * event_ptr)
inlineoverridevirtual

Reimplemented from lldb_private::StopInfo.

Definition at line 178 of file StopInfo.cpp.

References m_was_all_internal.

◆ GetBreakpointSiteSP()

◆ GetDescription()

◆ GetStopReason()

StopReason lldb_private::StopInfoBreakpoint::GetStopReason ( ) const
inlineoverridevirtual

Implements lldb_private::StopInfo.

Definition at line 148 of file StopInfo.cpp.

References lldb::eStopReasonBreakpoint.

◆ GetStopReasonDataAtIndex()

uint64_t lldb_private::StopInfoBreakpoint::GetStopReasonDataAtIndex ( uint32_t idx)
inlineoverridevirtual

Reimplemented from lldb_private::StopInfo.

Definition at line 253 of file StopInfo.cpp.

References GetBreakpointSiteSP(), and LLDB_INVALID_BREAK_ID.

◆ GetStopReasonDataCount()

uint32_t lldb_private::StopInfoBreakpoint::GetStopReasonDataCount ( ) const
inlineoverridevirtual

Reimplemented from lldb_private::StopInfo.

Definition at line 246 of file StopInfo.cpp.

References GetBreakpointSiteSP().

◆ GetSuggestedStackFrameIndex()

std::optional< uint32_t > lldb_private::StopInfoBreakpoint::GetSuggestedStackFrameIndex ( bool inlined_stack)
inlineoverridevirtual

This gives the StopInfo a chance to suggest a stack frame to select.

Passing true for inlined_stack will request changes to the inlined call stack. Passing false will request changes to the real stack frame. The inlined stack gets adjusted before we call into the thread plans so they can reason based on the correct values. The real stack adjustment is handled after the frame recognizers get a chance to adjust the frame.

Reimplemented from lldb_private::StopInfo.

Definition at line 276 of file StopInfo.cpp.

References GetBreakpointSiteSP(), and lldb_private::StopInfo::m_thread_wp.

◆ IsValidForOperatingSystemThread()

bool lldb_private::StopInfoBreakpoint::IsValidForOperatingSystemThread ( Thread & thread)
inlineoverridevirtual

Reimplemented from lldb_private::StopInfo.

Definition at line 138 of file StopInfo.cpp.

References GetBreakpointSiteSP(), and lldb_private::StopInfo::Thread.

◆ PerformAction()

◆ ShouldSelect()

bool lldb_private::StopInfoBreakpoint::ShouldSelect ( ) const
inlineoverridevirtual

Returns true if this is a stop reason that should cause a thread to be selected when stopping.

Reimplemented from lldb_private::StopInfo.

Definition at line 292 of file StopInfo.cpp.

References m_was_all_internal.

◆ ShouldShow()

bool lldb_private::StopInfoBreakpoint::ShouldShow ( ) const
inlineoverridevirtual

Returns true if this is a stop reason that should be shown to a user when viewing the thread with this stop info.

Reimplemented from lldb_private::StopInfo.

Definition at line 290 of file StopInfo.cpp.

References m_was_all_internal.

◆ ShouldStop()

bool lldb_private::StopInfoBreakpoint::ShouldStop ( Event * event_ptr)
inlineoverrideprotectedvirtual

Reimplemented from lldb_private::StopInfo.

Definition at line 295 of file StopInfo.cpp.

References m_should_stop, and m_should_stop_is_valid.

◆ ShouldStopSynchronous()

bool lldb_private::StopInfoBreakpoint::ShouldStopSynchronous ( Event * event_ptr)
inlineoverridevirtual

◆ StoreBPInfo()

Member Data Documentation

◆ m_address

lldb::addr_t lldb_private::StopInfoBreakpoint::m_address
private

Definition at line 675 of file StopInfo.cpp.

Referenced by GetDescription(), StopInfoBreakpoint(), StopInfoBreakpoint(), and StoreBPInfo().

◆ m_break_id

lldb::break_id_t lldb_private::StopInfoBreakpoint::m_break_id
private

Definition at line 679 of file StopInfo.cpp.

Referenced by GetDescription(), StopInfoBreakpoint(), StopInfoBreakpoint(), and StoreBPInfo().

◆ m_should_perform_action

bool lldb_private::StopInfoBreakpoint::m_should_perform_action
private

Definition at line 671 of file StopInfo.cpp.

Referenced by PerformAction(), StopInfoBreakpoint(), and StopInfoBreakpoint().

◆ m_should_stop

bool lldb_private::StopInfoBreakpoint::m_should_stop
private

◆ m_should_stop_is_valid

bool lldb_private::StopInfoBreakpoint::m_should_stop_is_valid
private

◆ m_was_all_internal

bool lldb_private::StopInfoBreakpoint::m_was_all_internal
private

◆ m_was_one_shot

bool lldb_private::StopInfoBreakpoint::m_was_one_shot
private

Definition at line 681 of file StopInfo.cpp.

Referenced by GetDescription(), StopInfoBreakpoint(), StopInfoBreakpoint(), and StoreBPInfo().


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