25 for (uint32_t idx = 0;; ++idx) {
28 if (create_callback ==
nullptr)
34 InstrumentationRuntimeCollection::iterator pos;
35 pos = runtimes.find(type);
36 if (pos == runtimes.end()) {
37 runtimes[type] = create_callback(process->shared_from_this());
53 const FileSpec &file_spec = module_sp->GetFileSpec();
59 module_sp->IsExecutable()) {
const char * GetCString() const
Get the string value as a C string.
const ConstString & GetFilename() const
Filename string const get accessor.
virtual lldb::ThreadCollectionSP GetBacktracesFromExtendedStopInfo(StructuredData::ObjectSP info)
void SetRuntimeModuleSP(lldb::ModuleSP module_sp)
virtual void Activate()=0
Register a breakpoint in the runtime library and perform any other necessary initialization.
virtual bool CheckIfRuntimeIsValid(const lldb::ModuleSP module_sp)=0
Check whether module_sp corresponds to a valid runtime library.
virtual const RegularExpression & GetPatternForRuntimeLibrary()=0
Return a regular expression which can be used to identify a valid version of the runtime library.
static void ModulesDidLoad(lldb_private::ModuleList &module_list, Process *process, InstrumentationRuntimeCollection &runtimes)
lldb::ModuleSP GetRuntimeModuleSP()
A collection class for Module objects.
void ForEach(std::function< bool(const lldb::ModuleSP &module_sp)> const &callback) const
Applies 'callback' to each module in this ModuleList.
static InstrumentationRuntimeGetType GetInstrumentationRuntimeGetTypeCallbackAtIndex(uint32_t idx)
static InstrumentationRuntimeCreateInstance GetInstrumentationRuntimeCreateCallbackAtIndex(uint32_t idx)
A plug-in interface definition class for debugging a process.
bool Execute(llvm::StringRef string, llvm::SmallVectorImpl< llvm::StringRef > *matches=nullptr) const
Execute a regular expression match using the compiled regular expression that is already in this obje...
std::shared_ptr< Object > ObjectSP
A class that represents a running process on the host machine.
std::map< lldb::InstrumentationRuntimeType, lldb::InstrumentationRuntimeSP > InstrumentationRuntimeCollection
lldb::InstrumentationRuntimeType(* InstrumentationRuntimeGetType)()
InstrumentationRuntimeType
std::shared_ptr< lldb_private::Module > ModuleSP
std::shared_ptr< lldb_private::ThreadCollection > ThreadCollectionSP