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
Collaboration diagram for lldb_private::InstrumentationRuntime:
Collaboration graph

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)

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)

◆ GetBreakpointID()

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

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

◆ GetRuntimeModuleSP()

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

Definition at line 53 of file InstrumentationRuntime.h.

◆ IsActive()

bool lldb_private::InstrumentationRuntime::IsActive ( ) const

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 

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)

◆ SetBreakpointID()

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

Definition at line 61 of file InstrumentationRuntime.h.

References ID.

◆ SetRuntimeModuleSP()

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

Definition at line 55 of file InstrumentationRuntime.h.

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