LLDB mainline
SymbolLocatorSymStore.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
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_SYMSTORE_SYMBOLLOCATORSYMSTORE_H
10#define LLDB_SOURCE_PLUGINS_SYMBOLLOCATOR_SYMSTORE_SYMBOLLOCATORSYMSTORE_H
11
12#include "lldb/Core/Debugger.h"
14#include "lldb/lldb-private.h"
15
16namespace lldb_private {
17
18/// This plugin implements lookup in Microsoft SymStore instances. This can work
19/// cross-platform and for arbitrary debug info formats, but the focus is on PDB
20/// with PE/COFF binaries on Windows.
22public:
24
25 static void Initialize();
26 static void Terminate();
27 static void DebuggerInitialize(Debugger &debugger);
28
29 static llvm::StringRef GetPluginNameStatic() { return "symstore"; }
30 static llvm::StringRef GetPluginDescriptionStatic();
31
33
34 /// PluginInterface protocol.
35 /// \{
36 llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
37 /// \}
38
39 // Locate the symbol file given a module specification.
40 //
41 // Locating the file should happen only on the local computer or using the
42 // current computers global settings.
43 static std::optional<FileSpec>
44 LocateExecutableSymbolFile(const ModuleSpec &module_spec,
45 const FileSpecList &default_search_paths);
46};
47
48} // namespace lldb_private
49
50#endif // LLDB_SOURCE_PLUGINS_SYMBOLLOCATOR_SYMSTORE_SYMBOLLOCATORSYMSTORE_H
A class to manage flag bits.
Definition Debugger.h:87
A file collection class.
static void DebuggerInitialize(Debugger &debugger)
llvm::StringRef GetPluginName() override
PluginInterface protocol.
static lldb_private::SymbolLocator * CreateInstance()
static llvm::StringRef GetPluginNameStatic()
static llvm::StringRef GetPluginDescriptionStatic()
static std::optional< FileSpec > LocateExecutableSymbolFile(const ModuleSpec &module_spec, const FileSpecList &default_search_paths)
A class that represents a running process on the host machine.