LLDB  mainline
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
lldb_private::InstrumentationRuntime Class Referenceabstract

#include <InstrumentationRuntime.h>

Inheritance diagram for lldb_private::InstrumentationRuntime:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::InstrumentationRuntime:
Collaboration graph
[legend]

Public Member Functions

void ModulesDidLoad (lldb_private::ModuleList &module_list)
 Look for the instrumentation runtime in module_list. More...
 
bool IsActive () const
 
virtual lldb::ThreadCollectionSP GetBacktracesFromExtendedStopInfo (StructuredData::ObjectSP info)
 
- Public Member Functions inherited from lldb_private::PluginInterface
virtual ~PluginInterface ()
 
virtual ConstString GetPluginName ()=0
 
virtual uint32_t GetPluginVersion ()=0
 

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. More...
 
virtual bool CheckIfRuntimeIsValid (const lldb::ModuleSP module_sp)=0
 Check whether module_sp corresponds to a valid runtime library. More...
 
virtual void Activate ()=0
 Register a breakpoint in the runtime library and perform any other necessary initialization. More...
 

Detailed Description

Definition at line 27 of file InstrumentationRuntime.h.

Constructor & Destructor Documentation

◆ InstrumentationRuntime()

lldb_private::InstrumentationRuntime::InstrumentationRuntime ( const lldb::ProcessSP &  process_sp)
inlineprotected

Definition at line 44 of file InstrumentationRuntime.h.

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.

Referenced by SetActive().

◆ CheckIfRuntimeIsValid()

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

Check whether module_sp corresponds to a valid runtime library.

Referenced by SetActive().

◆ GetBacktracesFromExtendedStopInfo()

lldb::ThreadCollectionSP InstrumentationRuntime::GetBacktracesFromExtendedStopInfo ( StructuredData::ObjectSP  info)
virtual

◆ GetBreakpointID()

lldb::user_id_t lldb_private::InstrumentationRuntime::GetBreakpointID ( ) const
inlineprotected

Definition at line 59 of file InstrumentationRuntime.h.

◆ GetPatternForRuntimeLibrary()

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

Return a regular expression which can be used to identify a valid version of the runtime library.

Referenced by SetActive().

◆ GetProcessSP()

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

◆ GetRuntimeModuleSP()

lldb::ModuleSP lldb_private::InstrumentationRuntime::GetRuntimeModuleSP ( )
inlineprotected

Definition at line 53 of file InstrumentationRuntime.h.

◆ IsActive()

bool lldb_private::InstrumentationRuntime::IsActive ( ) const
inline

Definition at line 87 of file InstrumentationRuntime.h.

References GetBacktracesFromExtendedStopInfo().

Referenced by SetActive().

◆ ModulesDidLoad() [1/2]

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

Definition at line 20 of file InstrumentationRuntime.cpp.

Referenced by lldb_private::Process::ModulesDidLoad(), and SetActive().

◆ ModulesDidLoad() [2/2]

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

Look for the instrumentation runtime in module_list.

Register and activate the runtime if this hasn't already been done.

Definition at line 42 of file InstrumentationRuntime.cpp.

References lldb_private::RegularExpression::Execute(), lldb_private::ModuleList::ForEach(), lldb_private::ConstString::GetCString(), and lldb_private::FileSpec::GetFilename().

◆ SetActive()

void lldb_private::InstrumentationRuntime::SetActive ( bool  IsActive)
inlineprotected

◆ SetBreakpointID()

void lldb_private::InstrumentationRuntime::SetBreakpointID ( lldb::user_id_t  ID)
inlineprotected

Definition at line 61 of file InstrumentationRuntime.h.

References ID.

◆ SetRuntimeModuleSP()

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

Definition at line 55 of file InstrumentationRuntime.h.


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