LLDB mainline
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
lldb_private::StopInfoBreakpoint Class Reference
Inheritance diagram for lldb_private::StopInfoBreakpoint:
Inheritance graph
[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
 
std::optional< uint32_t > GetSuggestedStackFrameIndex (bool inlined_stack) override
 This gives the StopInfo a chance to suggest a stack frame to select.
 
- 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
 
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 std::optional< uint32_t > GetSuggestedStackFrameIndex (bool inlined_stack)
 This gives the StopInfo a chance to suggest a stack frame to select.
 
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

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

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 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

Definition at line 90 of file StopInfo.cpp.

References StoreBPInfo().

◆ StopInfoBreakpoint() [2/2]

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

Definition at line 98 of file StopInfo.cpp.

References StoreBPInfo().

◆ ~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 181 of file StopInfo.cpp.

References m_was_all_internal.

◆ GetDescription()

const char * lldb_private::StopInfoBreakpoint::GetDescription ( )
inlineoverridevirtual

◆ GetStopReason()

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

Implements lldb_private::StopInfo.

Definition at line 150 of file StopInfo.cpp.

References lldb::eStopReasonBreakpoint.

◆ 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 251 of file StopInfo.cpp.

References lldb_private::StopInfo::m_thread_wp, and lldb_private::StopInfo::m_value.

◆ IsValidForOperatingSystemThread()

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

Reimplemented from lldb_private::StopInfo.

Definition at line 139 of file StopInfo.cpp.

References lldb_private::Thread::GetProcess(), and lldb_private::StopInfo::m_value.

◆ PerformAction()

void lldb_private::StopInfoBreakpoint::PerformAction ( Event event_ptr)
inlineoverrideprotectedvirtual

◆ ShouldStop()

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

Reimplemented from lldb_private::StopInfo.

Definition at line 267 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()

void lldb_private::StopInfoBreakpoint::StoreBPInfo ( )
inline

Member Data Documentation

◆ m_address

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

Definition at line 634 of file StopInfo.cpp.

Referenced by GetDescription(), and StoreBPInfo().

◆ m_break_id

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

Definition at line 638 of file StopInfo.cpp.

Referenced by GetDescription(), and StoreBPInfo().

◆ m_should_perform_action

bool lldb_private::StopInfoBreakpoint::m_should_perform_action
private

Definition at line 630 of file StopInfo.cpp.

Referenced by PerformAction().

◆ m_should_stop

bool lldb_private::StopInfoBreakpoint::m_should_stop
private

Definition at line 628 of file StopInfo.cpp.

Referenced by PerformAction(), ShouldStop(), and ShouldStopSynchronous().

◆ m_should_stop_is_valid

bool lldb_private::StopInfoBreakpoint::m_should_stop_is_valid
private

Definition at line 629 of file StopInfo.cpp.

Referenced by PerformAction(), ShouldStop(), and ShouldStopSynchronous().

◆ m_was_all_internal

bool lldb_private::StopInfoBreakpoint::m_was_all_internal
private

Definition at line 639 of file StopInfo.cpp.

Referenced by DoShouldNotify(), PerformAction(), and StoreBPInfo().

◆ m_was_one_shot

bool lldb_private::StopInfoBreakpoint::m_was_one_shot
private

Definition at line 640 of file StopInfo.cpp.

Referenced by GetDescription(), and StoreBPInfo().


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