LLDB mainline
SymbolLocatorDebuginfod.h
Go to the documentation of this file.
1//===-- SymbolLocatorDebuginfod.h -------------------------------*- C++ -*-===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_SOURCE_PLUGINS_SYMBOLLOCATOR_DEBUGINFOD_SYMBOLLOCATORDEBUGINFOD_H
10#define LLDB_SOURCE_PLUGINS_SYMBOLLOCATOR_DEBUGINFOD_SYMBOLLOCATORDEBUGINFOD_H
11
12#include "lldb/Core/Debugger.h"
14#include "lldb/lldb-private.h"
15
16namespace lldb_private {
17
19public:
21
22 static void Initialize();
23 static void Terminate();
24 static void DebuggerInitialize(Debugger &debugger);
25
26 static llvm::StringRef GetPluginNameStatic() { return "debuginfod"; }
27 static llvm::StringRef GetPluginDescriptionStatic();
28
30
31 /// PluginInterface protocol.
32 /// \{
33 llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
34 /// \}
35
36 // Locate the executable file given a module specification.
37 //
38 // Locating the file should happen only on the local computer or using the
39 // current computers global settings.
40 static std::optional<ModuleSpec>
41 LocateExecutableObjectFile(const ModuleSpec &module_spec);
42
43 // Locate the symbol file given a module specification.
44 //
45 // Locating the file should happen only on the local computer or using the
46 // current computers global settings.
47 static std::optional<FileSpec>
48 LocateExecutableSymbolFile(const ModuleSpec &module_spec,
49 const FileSpecList &default_search_paths);
50};
51
52} // namespace lldb_private
53
54#endif // LLDB_SOURCE_PLUGINS_SYMBOLLOCATOR_DEBUGINFOD_SYMBOLLOCATORDEBUGINFOD_H
A class to manage flag bits.
Definition: Debugger.h:79
A file collection class.
Definition: FileSpecList.h:85
static std::optional< FileSpec > LocateExecutableSymbolFile(const ModuleSpec &module_spec, const FileSpecList &default_search_paths)
static lldb_private::SymbolLocator * CreateInstance()
static void DebuggerInitialize(Debugger &debugger)
llvm::StringRef GetPluginName() override
PluginInterface protocol.
static std::optional< ModuleSpec > LocateExecutableObjectFile(const ModuleSpec &module_spec)
A class that represents a running process on the host machine.
Definition: SBAttachInfo.h:14