|
LLDB mainline
|
Public Member Functions | |
| ~InstrumentationBoundsSafetyStopInfo () override=default | |
| lldb::StopReason | GetStopReason () const override |
| std::optional< uint32_t > | GetSuggestedStackFrameIndex (bool inlined_stack) override |
| This gives the StopInfo a chance to suggest a stack frame to select. | |
| const char * | GetDescription () override |
| bool | DoShouldNotify (Event *event_ptr) override |
| 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 bool | ShouldStopSynchronous (Event *event_ptr) |
| 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 | IsValidForOperatingSystemThread (Thread &thread) |
| virtual bool | WasContinueInterrupted (Thread &thread) |
| A Continue operation can result in a false stop event before any execution has happened. | |
| virtual uint32_t | GetStopReasonDataCount () const |
| virtual uint64_t | GetStopReasonDataAtIndex (uint32_t idx) |
| void | OverrideShouldStop (bool override_value) |
| bool | GetOverrideShouldStop () |
| bool | GetOverriddenShouldStopValue () |
| StructuredData::ObjectSP | GetExtendedInfo () |
| virtual bool | ShouldShow () const |
| Returns true if this is a stop reason that should be shown to a user when viewing the thread with this stop info. | |
| virtual bool | ShouldSelect () const |
| Returns true if this is a stop reason that should cause a thread to be selected when stopping. | |
Private Member Functions | |
| InstrumentationBoundsSafetyStopInfo (Thread &thread) | |
| ComputedStopInfo | ComputeStopReasonAndSuggestedStackFrame (bool &warning_emitted_for_failure) |
| ComputedStopInfo | ComputeStopReasonAndSuggestedStackFrameWithDebugInfo (lldb::StackFrameSP parent_sf, lldb::user_id_t debugger_id, bool &warning_emitted_for_failure) |
| ComputedStopInfo | ComputeStopReasonAndSuggestedStackFrameWithoutDebugInfo (ThreadSP thread_sp, lldb::user_id_t debugger_id, bool &warning_emitted_for_failure) |
Additional Inherited Members | |
| Protected Member Functions inherited from lldb_private::StopInfo | |
| virtual void | PerformAction (Event *event_ptr) |
| virtual bool | ShouldStop (Event *event_ptr) |
| bool | HasTargetRunSinceMe () |
| void | MakeStopInfoValid () |
| 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 |
Definition at line 56 of file InstrumentationRuntimeBoundsSafety.cpp.
|
overridedefault |
|
private |
Definition at line 93 of file InstrumentationRuntimeBoundsSafety.cpp.
References ComputeStopReasonAndSuggestedStackFrame(), lldb_private::StopInfo::GetThread(), lldb_private::StopInfo::m_description, lldb_private::StopInfo::m_extended_info, lldb_private::StopInfo::m_value, lldb_private::Debugger::ReportWarning(), SOFT_TRAP_FALLBACK_CATEGORY, lldb_private::StopInfo::StopInfo(), and lldb_private::StopInfo::Thread.
Referenced by CreateInstrumentationBoundsSafetyStopInfo().
|
private |
Definition at line 134 of file InstrumentationRuntimeBoundsSafety.cpp.
References ComputeStopReasonAndSuggestedStackFrameWithDebugInfo(), ComputeStopReasonAndSuggestedStackFrameWithoutDebugInfo(), lldb_private::StopInfo::GetThread(), and LogFailedCSI().
Referenced by InstrumentationBoundsSafetyStopInfo().
|
private |
Definition at line 157 of file InstrumentationRuntimeBoundsSafety.cpp.
References LogFailedCSI(), lldb_private::Debugger::ReportWarning(), and SOFT_TRAP_CATEGORY_PREFIX.
Referenced by ComputeStopReasonAndSuggestedStackFrame().
|
private |
Definition at line 205 of file InstrumentationRuntimeBoundsSafety.cpp.
References BoundsSafetySoftTrapMinimal(), BoundsSafetySoftTrapStr(), lldb_private::ArchSpec::eCore_x86_32_i386, lldb_private::ArchSpec::eCore_x86_32_i486, lldb_private::ArchSpec::eCore_x86_32_i486sx, lldb_private::ArchSpec::eCore_x86_32_i686, lldb::eRegisterKindGeneric, lldb_private::Status::Fail(), lldb_private::RegisterValue::GetAsUInt64(), lldb_private::GetLog(), lldb_private::InstrumentationRuntime, LLDB_LOG, LLDB_REGNUM_GENERIC_ARG1, LogFailedCSI(), lldb_private::RegisterInfo::name, lldb_private::Debugger::ReportWarning(), SOFT_TRAP_FALLBACK_CATEGORY, UINT64_MAX, and warning().
Referenced by ComputeStopReasonAndSuggestedStackFrame().
|
inlinestatic |
Definition at line 74 of file InstrumentationRuntimeBoundsSafety.cpp.
References InstrumentationBoundsSafetyStopInfo(), and lldb_private::StopInfo::Thread.
Reimplemented from lldb_private::StopInfo.
Definition at line 71 of file InstrumentationRuntimeBoundsSafety.cpp.
|
inlineoverridevirtual |
Reimplemented from lldb_private::StopInfo.
Definition at line 69 of file InstrumentationRuntimeBoundsSafety.cpp.
References lldb_private::StopInfo::m_description.
|
inlineoverridevirtual |
Implements lldb_private::StopInfo.
Definition at line 60 of file InstrumentationRuntimeBoundsSafety.cpp.
References lldb::eStopReasonInstrumentation.
|
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 65 of file InstrumentationRuntimeBoundsSafety.cpp.
References lldb_private::StopInfo::m_value.