1 //===-- SystemRuntime.cpp ---------------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #include "lldb/Target/SystemRuntime.h"
10 #include "lldb/Core/PluginManager.h"
11 #include "lldb/Target/Process.h"
12 #include "lldb/lldb-private.h"
15 using namespace lldb_private;
17 SystemRuntime *SystemRuntime::FindPlugin(Process *process) {
18 SystemRuntimeCreateInstance create_callback = nullptr;
19 for (uint32_t idx = 0;
20 (create_callback = PluginManager::GetSystemRuntimeCreateCallbackAtIndex(
23 std::unique_ptr<SystemRuntime> instance_up(create_callback(process));
25 return instance_up.release();
30 // SystemRuntime constructor
31 SystemRuntime::SystemRuntime(Process *process)
32 : m_process(process), m_types() {}
34 SystemRuntime::~SystemRuntime() = default;
36 void SystemRuntime::DidAttach() {}
38 void SystemRuntime::DidLaunch() {}
40 void SystemRuntime::Detach() {}
42 void SystemRuntime::ModulesDidLoad(ModuleList &module_list) {}
44 const std::vector<ConstString> &SystemRuntime::GetExtendedBacktraceTypes() {
48 ThreadSP SystemRuntime::GetExtendedBacktraceThread(ThreadSP thread,