LLDB mainline
lldb_private::InstrumentationRuntime Class Referenceabstract

#include <InstrumentationRuntime.h>

Inheritance diagram for lldb_private::InstrumentationRuntime:
[legend]

Public Member Functions

void ModulesDidLoad (lldb_private::ModuleList &module_list)
 Look for the instrumentation runtime in module_list.
bool IsActive () const
virtual lldb::ThreadCollectionSP GetBacktracesFromExtendedStopInfo (StructuredData::ObjectSP info)
Public Member Functions inherited from lldb_private::PluginInterface
 PluginInterface ()=default
virtual ~PluginInterface ()=default
virtual llvm::StringRef GetPluginName ()=0
 PluginInterface (const PluginInterface &)=delete
PluginInterfaceoperator= (const PluginInterface &)=delete

Static Public Member Functions

static void ModulesDidLoad (lldb_private::ModuleList &module_list, Process *process, InstrumentationRuntimeCollection &runtimes)

Protected Member Functions

 InstrumentationRuntime (const lldb::ProcessSP &process_sp)
lldb::ProcessSP GetProcessSP ()
lldb::ModuleSP GetRuntimeModuleSP ()
void SetRuntimeModuleSP (lldb::ModuleSP module_sp)
lldb::user_id_t GetBreakpointID () const
void SetBreakpointID (lldb::user_id_t ID)
void SetActive (bool IsActive)
virtual const RegularExpressionGetPatternForRuntimeLibrary ()=0
 Return a regular expression which can be used to identify a valid version of the runtime library.
virtual bool CheckIfRuntimeIsValid (const lldb::ModuleSP module_sp)=0
 Check whether module_sp corresponds to a valid runtime library.
virtual void Activate ()=0
 Register a breakpoint in the runtime library and perform any other necessary initialization.

Private Attributes

lldb::ProcessWP m_process_wp
 The instrumented process.
lldb::ModuleSP m_runtime_module
 The module containing the instrumentation runtime.
lldb::user_id_t m_breakpoint_id
 The breakpoint in the instrumentation runtime.
bool m_is_active
 Indicates whether or not breakpoints have been registered in the instrumentation runtime.

Detailed Description

Definition at line 27 of file InstrumentationRuntime.h.

Constructor & Destructor Documentation

◆ InstrumentationRuntime()

Member Function Documentation

◆ Activate()

virtual void lldb_private::InstrumentationRuntime::Activate ( )
protectedpure virtual

Register a breakpoint in the runtime library and perform any other necessary initialization.

The runtime library is guaranteed to be loaded.

Implemented in InstrumentationRuntimeASanLibsanitizers, lldb_private::InstrumentationRuntimeASan, lldb_private::InstrumentationRuntimeMainThreadChecker, lldb_private::InstrumentationRuntimeTSan, and lldb_private::InstrumentationRuntimeUBSan.

Referenced by ModulesDidLoad().

◆ CheckIfRuntimeIsValid()

virtual bool lldb_private::InstrumentationRuntime::CheckIfRuntimeIsValid ( const lldb::ModuleSP module_sp)
protectedpure virtual

◆ GetBacktracesFromExtendedStopInfo()

◆ GetBreakpointID()

◆ GetPatternForRuntimeLibrary()

virtual const RegularExpression & lldb_private::InstrumentationRuntime::GetPatternForRuntimeLibrary ( )
protectedpure virtual

◆ GetProcessSP()

lldb::ProcessSP lldb_private::InstrumentationRuntime::GetProcessSP ( )
inlineprotected

Definition at line 50 of file InstrumentationRuntime.h.

References m_process_wp.

Referenced by InstrumentationRuntimeASanLibsanitizers::Activate(), lldb_private::InstrumentationRuntimeASan::Activate(), lldb_private::InstrumentationRuntimeMainThreadChecker::Activate(), lldb_private::InstrumentationRuntimeTSan::Activate(), lldb_private::InstrumentationRuntimeUBSan::Activate(), InstrumentationRuntimeASanLibsanitizers::Deactivate(), lldb_private::InstrumentationRuntimeASan::Deactivate(), lldb_private::InstrumentationRuntimeMainThreadChecker::Deactivate(), lldb_private::InstrumentationRuntimeTSan::Deactivate(), lldb_private::InstrumentationRuntimeUBSan::Deactivate(), lldb_private::InstrumentationRuntimeTSan::GenerateSummary(), lldb_private::InstrumentationRuntimeMainThreadChecker::GetBacktracesFromExtendedStopInfo(), lldb_private::InstrumentationRuntimeTSan::GetBacktracesFromExtendedStopInfo(), lldb_private::InstrumentationRuntimeUBSan::GetBacktracesFromExtendedStopInfo(), lldb_private::InstrumentationRuntimeTSan::GetFirstNonInternalFramePc(), lldb_private::InstrumentationRuntimeTSan::GetLocationDescription(), InstrumentationRuntimeASanLibsanitizers::NotifyBreakpointHit(), lldb_private::InstrumentationRuntimeASan::NotifyBreakpointHit(), lldb_private::InstrumentationRuntimeMainThreadChecker::NotifyBreakpointHit(), lldb_private::InstrumentationRuntimeTSan::NotifyBreakpointHit(), lldb_private::InstrumentationRuntimeUBSan::NotifyBreakpointHit(), lldb_private::InstrumentationRuntimeMainThreadChecker::RetrieveReportData(), lldb_private::InstrumentationRuntimeTSan::RetrieveReportData(), and lldb_private::InstrumentationRuntimeUBSan::RetrieveReportData().

◆ GetRuntimeModuleSP()

◆ IsActive()

◆ ModulesDidLoad() [1/2]

void InstrumentationRuntime::ModulesDidLoad ( lldb_private::ModuleList & module_list)

◆ ModulesDidLoad() [2/2]

◆ SetActive()

◆ SetBreakpointID()

◆ SetRuntimeModuleSP()

void lldb_private::InstrumentationRuntime::SetRuntimeModuleSP ( lldb::ModuleSP module_sp)
inlineprotected

Definition at line 54 of file InstrumentationRuntime.h.

References m_runtime_module.

Referenced by ModulesDidLoad().

Member Data Documentation

◆ m_breakpoint_id

lldb::user_id_t lldb_private::InstrumentationRuntime::m_breakpoint_id
private

The breakpoint in the instrumentation runtime.

Definition at line 37 of file InstrumentationRuntime.h.

Referenced by GetBreakpointID(), InstrumentationRuntime(), and SetBreakpointID().

◆ m_is_active

bool lldb_private::InstrumentationRuntime::m_is_active
private

Indicates whether or not breakpoints have been registered in the instrumentation runtime.

Definition at line 41 of file InstrumentationRuntime.h.

Referenced by InstrumentationRuntime(), IsActive(), and SetActive().

◆ m_process_wp

lldb::ProcessWP lldb_private::InstrumentationRuntime::m_process_wp
private

The instrumented process.

Definition at line 31 of file InstrumentationRuntime.h.

Referenced by GetProcessSP(), and InstrumentationRuntime().

◆ m_runtime_module

lldb::ModuleSP lldb_private::InstrumentationRuntime::m_runtime_module
private

The module containing the instrumentation runtime.

Definition at line 34 of file InstrumentationRuntime.h.

Referenced by GetRuntimeModuleSP(), and SetRuntimeModuleSP().


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