Go to the documentation of this file.
9 #ifndef LLDB_TARGET_INSTRUMENTATIONRUNTIME_H
10 #define LLDB_TARGET_INSTRUMENTATIONRUNTIME_H
24 lldb::InstrumentationRuntimeSP>
28 :
public std::enable_shared_from_this<InstrumentationRuntime>,
88 virtual lldb::ThreadCollectionSP
94 #endif // LLDB_TARGET_INSTRUMENTATIONRUNTIME_H
virtual void Activate()=0
Register a breakpoint in the runtime library and perform any other necessary initialization.
bool m_is_active
Indicates whether or not breakpoints have been registered in the instrumentation runtime.
lldb::user_id_t m_breakpoint_id
The breakpoint in the instrumentation runtime.
virtual lldb::ThreadCollectionSP GetBacktracesFromExtendedStopInfo(StructuredData::ObjectSP info)
lldb::ModuleSP GetRuntimeModuleSP()
lldb::ModuleSP m_runtime_module
The module containing the instrumentation runtime.
std::map< lldb::InstrumentationRuntimeType, lldb::InstrumentationRuntimeSP > InstrumentationRuntimeCollection
void SetBreakpointID(lldb::user_id_t ID)
static void ModulesDidLoad(lldb_private::ModuleList &module_list, Process *process, InstrumentationRuntimeCollection &runtimes)
std::shared_ptr< Object > ObjectSP
virtual const RegularExpression & GetPatternForRuntimeLibrary()=0
Return a regular expression which can be used to identify a valid version of the runtime library.
lldb::user_id_t GetBreakpointID() const
void SetRuntimeModuleSP(lldb::ModuleSP module_sp)
virtual bool CheckIfRuntimeIsValid(const lldb::ModuleSP module_sp)=0
Check whether module_sp corresponds to a valid runtime library.
InstrumentationRuntime(const lldb::ProcessSP &process_sp)
A class that represents a running process on the host machine.
lldb::ProcessWP m_process_wp
The instrumented process.
void SetActive(bool IsActive)
lldb::ProcessSP GetProcessSP()
InstrumentationRuntimeType