LLDB  mainline
PluginManager.h
Go to the documentation of this file.
1 //===-- PluginManager.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_CORE_PLUGINMANAGER_H
10 #define LLDB_CORE_PLUGINMANAGER_H
11 
12 #include "lldb/Core/Architecture.h"
13 #include "lldb/Symbol/TypeSystem.h"
15 #include "lldb/Utility/FileSpec.h"
16 #include "lldb/Utility/Status.h"
17 #include "lldb/lldb-enumerations.h"
18 #include "lldb/lldb-forward.h"
20 #include "llvm/ADT/StringRef.h"
21 
22 #include <cstddef>
23 #include <cstdint>
24 
25 #define LLDB_PLUGIN_DEFINE_ADV(ClassName, PluginName) \
26  namespace lldb_private { \
27  void lldb_initialize_##PluginName() { ClassName::Initialize(); } \
28  void lldb_terminate_##PluginName() { ClassName::Terminate(); } \
29  }
30 
31 #define LLDB_PLUGIN_DEFINE(PluginName) \
32  LLDB_PLUGIN_DEFINE_ADV(PluginName, PluginName)
33 
34 // FIXME: Generate me with CMake
35 #define LLDB_PLUGIN_DECLARE(PluginName) \
36  namespace lldb_private { \
37  extern void lldb_initialize_##PluginName(); \
38  extern void lldb_terminate_##PluginName(); \
39  }
40 
41 #define LLDB_PLUGIN_INITIALIZE(PluginName) lldb_initialize_##PluginName()
42 #define LLDB_PLUGIN_TERMINATE(PluginName) lldb_terminate_##PluginName()
43 
44 namespace lldb_private {
45 class CommandInterpreter;
46 class ConstString;
47 class Debugger;
48 class StringList;
49 
51 public:
52  static void Initialize();
53 
54  static void Terminate();
55 
56  // ABI
57  static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
58  ABICreateInstance create_callback);
59 
60  static bool UnregisterPlugin(ABICreateInstance create_callback);
61 
62  static ABICreateInstance GetABICreateCallbackAtIndex(uint32_t idx);
63 
64  // Architecture
65  static void RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
66  ArchitectureCreateInstance create_callback);
67 
68  static void UnregisterPlugin(ArchitectureCreateInstance create_callback);
69 
70  static std::unique_ptr<Architecture>
72 
73  // Disassembler
74  static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
75  DisassemblerCreateInstance create_callback);
76 
77  static bool UnregisterPlugin(DisassemblerCreateInstance create_callback);
78 
79  static DisassemblerCreateInstance
81 
82  static DisassemblerCreateInstance
83  GetDisassemblerCreateCallbackForPluginName(llvm::StringRef name);
84 
85  // DynamicLoader
86  static bool
87  RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
88  DynamicLoaderCreateInstance create_callback,
89  DebuggerInitializeCallback debugger_init_callback = nullptr);
90 
91  static bool UnregisterPlugin(DynamicLoaderCreateInstance create_callback);
92 
93  static DynamicLoaderCreateInstance
95 
96  static DynamicLoaderCreateInstance
97  GetDynamicLoaderCreateCallbackForPluginName(llvm::StringRef name);
98 
99  // JITLoader
100  static bool
101  RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
102  JITLoaderCreateInstance create_callback,
103  DebuggerInitializeCallback debugger_init_callback = nullptr);
104 
105  static bool UnregisterPlugin(JITLoaderCreateInstance create_callback);
106 
107  static JITLoaderCreateInstance
109 
110  // EmulateInstruction
111  static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
112  EmulateInstructionCreateInstance create_callback);
113 
114  static bool
115  UnregisterPlugin(EmulateInstructionCreateInstance create_callback);
116 
117  static EmulateInstructionCreateInstance
119 
120  static EmulateInstructionCreateInstance
122 
123  // OperatingSystem
124  static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
125  OperatingSystemCreateInstance create_callback,
126  DebuggerInitializeCallback debugger_init_callback);
127 
128  static bool UnregisterPlugin(OperatingSystemCreateInstance create_callback);
129 
130  static OperatingSystemCreateInstance
132 
133  static OperatingSystemCreateInstance
134  GetOperatingSystemCreateCallbackForPluginName(llvm::StringRef name);
135 
136  // Language
137  static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
138  LanguageCreateInstance create_callback);
139 
140  static bool UnregisterPlugin(LanguageCreateInstance create_callback);
141 
142  static LanguageCreateInstance GetLanguageCreateCallbackAtIndex(uint32_t idx);
143 
144  // LanguageRuntime
145  static bool RegisterPlugin(
146  llvm::StringRef name, llvm::StringRef description,
147  LanguageRuntimeCreateInstance create_callback,
148  LanguageRuntimeGetCommandObject command_callback = nullptr,
149  LanguageRuntimeGetExceptionPrecondition precondition_callback = nullptr);
150 
151  static bool UnregisterPlugin(LanguageRuntimeCreateInstance create_callback);
152 
155 
156  static LanguageRuntimeGetCommandObject
158 
159  static LanguageRuntimeGetExceptionPrecondition
161 
162  // SystemRuntime
163  static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
164  SystemRuntimeCreateInstance create_callback);
165 
166  static bool UnregisterPlugin(SystemRuntimeCreateInstance create_callback);
167 
168  static SystemRuntimeCreateInstance
170 
171  // ObjectFile
172  static bool
173  RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
174  ObjectFileCreateInstance create_callback,
175  ObjectFileCreateMemoryInstance create_memory_callback,
176  ObjectFileGetModuleSpecifications get_module_specifications,
177  ObjectFileSaveCore save_core = nullptr,
178  DebuggerInitializeCallback debugger_init_callback = nullptr);
179 
180  static bool UnregisterPlugin(ObjectFileCreateInstance create_callback);
181 
184 
185  static ObjectFileCreateMemoryInstance
187 
188  static ObjectFileGetModuleSpecifications
190 
191  static ObjectFileCreateMemoryInstance
193 
194  static Status SaveCore(const lldb::ProcessSP &process_sp,
195  const FileSpec &outfile,
196  lldb::SaveCoreStyle &core_style,
197  llvm::StringRef plugin_name);
198 
199  // ObjectContainer
200  static bool RegisterPlugin(
201  llvm::StringRef name, llvm::StringRef description,
202  ObjectContainerCreateInstance create_callback,
203  ObjectFileGetModuleSpecifications get_module_specifications,
204  ObjectContainerCreateMemoryInstance create_memory_callback = nullptr);
205 
206  static bool UnregisterPlugin(ObjectContainerCreateInstance create_callback);
207 
210 
211  static ObjectContainerCreateMemoryInstance
213 
214  static ObjectFileGetModuleSpecifications
216 
217  // Platform
218  static bool
219  RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
220  PlatformCreateInstance create_callback,
221  DebuggerInitializeCallback debugger_init_callback = nullptr);
222 
223  static bool UnregisterPlugin(PlatformCreateInstance create_callback);
224 
225  static PlatformCreateInstance GetPlatformCreateCallbackAtIndex(uint32_t idx);
226 
227  static PlatformCreateInstance
228  GetPlatformCreateCallbackForPluginName(llvm::StringRef name);
229 
230  static llvm::StringRef GetPlatformPluginNameAtIndex(uint32_t idx);
231 
232  static llvm::StringRef GetPlatformPluginDescriptionAtIndex(uint32_t idx);
233 
234  static void AutoCompletePlatformName(llvm::StringRef partial_name,
235  CompletionRequest &request);
236  // Process
237  static bool
238  RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
239  ProcessCreateInstance create_callback,
240  DebuggerInitializeCallback debugger_init_callback = nullptr);
241 
242  static bool UnregisterPlugin(ProcessCreateInstance create_callback);
243 
244  static ProcessCreateInstance GetProcessCreateCallbackAtIndex(uint32_t idx);
245 
246  static ProcessCreateInstance
247  GetProcessCreateCallbackForPluginName(llvm::StringRef name);
248 
249  static llvm::StringRef GetProcessPluginNameAtIndex(uint32_t idx);
250 
251  static llvm::StringRef GetProcessPluginDescriptionAtIndex(uint32_t idx);
252 
253  static void AutoCompleteProcessName(llvm::StringRef partial_name,
254  CompletionRequest &request);
255 
256  // ScriptInterpreter
257  static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
258  lldb::ScriptLanguage script_lang,
259  ScriptInterpreterCreateInstance create_callback);
260 
261  static bool UnregisterPlugin(ScriptInterpreterCreateInstance create_callback);
262 
265 
266  static lldb::ScriptInterpreterSP
268  Debugger &debugger);
269 
270  // StructuredDataPlugin
271 
272  /// Register a StructuredDataPlugin class along with optional
273  /// callbacks for debugger initialization and Process launch info
274  /// filtering and manipulation.
275  ///
276  /// \param[in] name
277  /// The name of the plugin.
278  ///
279  /// \param[in] description
280  /// A description string for the plugin.
281  ///
282  /// \param[in] create_callback
283  /// The callback that will be invoked to create an instance of
284  /// the callback. This may not be nullptr.
285  ///
286  /// \param[in] debugger_init_callback
287  /// An optional callback that will be made when a Debugger
288  /// instance is initialized.
289  ///
290  /// \param[in] filter_callback
291  /// An optional callback that will be invoked before LLDB
292  /// launches a process for debugging. The callback must
293  /// do the following:
294  /// 1. Only do something if the plugin's behavior is enabled.
295  /// 2. Only make changes for processes that are relevant to the
296  /// plugin. The callback gets a pointer to the Target, which
297  /// can be inspected as needed. The ProcessLaunchInfo is
298  /// provided in read-write mode, and may be modified by the
299  /// plugin if, for instance, additional environment variables
300  /// are needed to support the feature when enabled.
301  ///
302  /// \return
303  /// Returns true upon success; otherwise, false.
304  static bool
305  RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
306  StructuredDataPluginCreateInstance create_callback,
307  DebuggerInitializeCallback debugger_init_callback = nullptr,
308  StructuredDataFilterLaunchInfo filter_callback = nullptr);
309 
310  static bool
312 
315 
316  static StructuredDataFilterLaunchInfo
318  bool &iteration_complete);
319 
320  // SymbolFile
321  static bool
322  RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
323  SymbolFileCreateInstance create_callback,
324  DebuggerInitializeCallback debugger_init_callback = nullptr);
325 
326  static bool UnregisterPlugin(SymbolFileCreateInstance create_callback);
327 
328  static SymbolFileCreateInstance
330 
331  // SymbolVendor
332  static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
333  SymbolVendorCreateInstance create_callback);
334 
335  static bool UnregisterPlugin(SymbolVendorCreateInstance create_callback);
336 
337  static SymbolVendorCreateInstance
339 
340  // Trace
341  static bool RegisterPlugin(
342  llvm::StringRef name, llvm::StringRef description,
343  TraceCreateInstanceFromBundle create_callback_from_bundle,
344  TraceCreateInstanceForLiveProcess create_callback_for_live_process,
345  llvm::StringRef schema);
346 
347  static bool
349 
351  GetTraceCreateCallback(llvm::StringRef plugin_name);
352 
353  static TraceCreateInstanceForLiveProcess
354  GetTraceCreateCallbackForLiveProcess(llvm::StringRef plugin_name);
355 
356  /// Get the JSON schema for a trace bundle description file corresponding to
357  /// the given plugin.
358  ///
359  /// \param[in] plugin_name
360  /// The name of the plugin.
361  ///
362  /// \return
363  /// An empty \a StringRef if no plugin was found with that plugin name,
364  /// otherwise the actual schema is returned.
365  static llvm::StringRef GetTraceSchema(llvm::StringRef plugin_name);
366 
367  /// Get the JSON schema for a trace bundle description file corresponding to
368  /// the plugin given by its index.
369  ///
370  /// \param[in] index
371  /// The index of the plugin to get the schema of.
372  ///
373  /// \return
374  /// An empty \a StringRef if the index is greater than or equal to the
375  /// number plugins, otherwise the actual schema is returned.
376  static llvm::StringRef GetTraceSchema(size_t index);
377 
378  // TraceExporter
379 
380  /// \param[in] create_thread_trace_export_command
381  /// This callback is used to create a CommandObject that will be listed
382  /// under "thread trace export". Can be \b null.
383  static bool RegisterPlugin(
384  llvm::StringRef name, llvm::StringRef description,
385  TraceExporterCreateInstance create_callback,
386  ThreadTraceExportCommandCreator create_thread_trace_export_command);
387 
389  GetTraceExporterCreateCallback(llvm::StringRef plugin_name);
390 
391  static bool UnregisterPlugin(TraceExporterCreateInstance create_callback);
392 
393  static llvm::StringRef GetTraceExporterPluginNameAtIndex(uint32_t index);
394 
395  /// Return the callback used to create the CommandObject that will be listed
396  /// under "thread trace export". Can be \b null.
397  static ThreadTraceExportCommandCreator
399 
400  // UnwindAssembly
401  static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
402  UnwindAssemblyCreateInstance create_callback);
403 
404  static bool UnregisterPlugin(UnwindAssemblyCreateInstance create_callback);
405 
406  static UnwindAssemblyCreateInstance
408 
409  // MemoryHistory
410  static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
411  MemoryHistoryCreateInstance create_callback);
412 
413  static bool UnregisterPlugin(MemoryHistoryCreateInstance create_callback);
414 
415  static MemoryHistoryCreateInstance
417 
418  // InstrumentationRuntime
419  static bool
420  RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
421  InstrumentationRuntimeCreateInstance create_callback,
422  InstrumentationRuntimeGetType get_type_callback);
423 
424  static bool
426 
427  static InstrumentationRuntimeGetType
429 
432 
433  // TypeSystem
434  static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
435  TypeSystemCreateInstance create_callback,
436  LanguageSet supported_languages_for_types,
437  LanguageSet supported_languages_for_expressions);
438 
439  static bool UnregisterPlugin(TypeSystemCreateInstance create_callback);
440 
443 
445 
447 
448  // REPL
449  static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
450  REPLCreateInstance create_callback,
451  LanguageSet supported_languages);
452 
453  static bool UnregisterPlugin(REPLCreateInstance create_callback);
454 
456 
458 
460 
461  // Some plug-ins might register a DebuggerInitializeCallback callback when
462  // registering the plug-in. After a new Debugger instance is created, this
463  // DebuggerInitialize function will get called. This allows plug-ins to
464  // install Properties and do any other initialization that requires a
465  // debugger instance.
466  static void DebuggerInitialize(Debugger &debugger);
467 
468  static lldb::OptionValuePropertiesSP
470  ConstString setting_name);
471 
473  Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
474  ConstString description, bool is_global_property);
475 
476  static lldb::OptionValuePropertiesSP
477  GetSettingForPlatformPlugin(Debugger &debugger, ConstString setting_name);
478 
479  static bool CreateSettingForPlatformPlugin(
480  Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
481  ConstString description, bool is_global_property);
482 
483  static lldb::OptionValuePropertiesSP
484  GetSettingForProcessPlugin(Debugger &debugger, ConstString setting_name);
485 
486  static bool CreateSettingForProcessPlugin(
487  Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
488  ConstString description, bool is_global_property);
489 
490  static lldb::OptionValuePropertiesSP
491  GetSettingForObjectFilePlugin(Debugger &debugger, ConstString setting_name);
492 
494  Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
495  ConstString description, bool is_global_property);
496 
497  static lldb::OptionValuePropertiesSP
498  GetSettingForSymbolFilePlugin(Debugger &debugger, ConstString setting_name);
499 
501  Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
502  ConstString description, bool is_global_property);
503 
504  static lldb::OptionValuePropertiesSP
505  GetSettingForJITLoaderPlugin(Debugger &debugger, ConstString setting_name);
506 
508  Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
509  ConstString description, bool is_global_property);
510 
511  static lldb::OptionValuePropertiesSP
513  ConstString setting_name);
514 
516  Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
517  ConstString description, bool is_global_property);
518 
519  static lldb::OptionValuePropertiesSP
521  ConstString setting_name);
522 
524  Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
525  ConstString description, bool is_global_property);
526 };
527 
528 } // namespace lldb_private
529 
530 #endif // LLDB_CORE_PLUGINMANAGER_H
LanguageRuntimeCreateInstance
lldb_private::PluginManager::GetProcessCreateCallbackForPluginName
static ProcessCreateInstance GetProcessCreateCallbackForPluginName(llvm::StringRef name)
Definition: PluginManager.cpp:866
lldb::ScriptLanguage
ScriptLanguage
Script interpreter types.
Definition: lldb-enumerations.h:216
lldb_private::ArchSpec
Definition: ArchSpec.h:32
lldb_private::PluginManager::GetEmulateInstructionCreateCallbackForPluginName
static EmulateInstructionCreateInstance GetEmulateInstructionCreateCallbackForPluginName(llvm::StringRef name)
Definition: PluginManager.cpp:462
lldb_private::PluginManager::GetObjectContainerCreateMemoryCallbackAtIndex
static ObjectContainerCreateMemoryInstance GetObjectContainerCreateMemoryCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:765
lldb-private-interfaces.h
TypeSystemCreateInstance
lldb_private::PluginManager::GetObjectFileGetModuleSpecificationsCallbackAtIndex
static ObjectFileGetModuleSpecifications GetObjectFileGetModuleSpecificationsCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:673
Architecture.h
lldb_private::PluginManager::GetTraceExporterCreateCallback
static TraceExporterCreateInstance GetTraceExporterCreateCallback(llvm::StringRef plugin_name)
Definition: PluginManager.cpp:1146
StructuredDataPluginCreateInstance
lldb_private::PluginManager::GetStructuredDataPluginCreateCallbackAtIndex
static StructuredDataPluginCreateInstance GetStructuredDataPluginCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:975
lldb_private::PluginManager::GetLanguageRuntimeGetExceptionPreconditionAtIndex
static LanguageRuntimeGetExceptionPrecondition GetLanguageRuntimeGetExceptionPreconditionAtIndex(uint32_t idx)
Definition: PluginManager.cpp:582
lldb_private::PluginManager::GetAllTypeSystemSupportedLanguagesForExpressions
static LanguageSet GetAllTypeSystemSupportedLanguagesForExpressions()
Definition: PluginManager.cpp:1322
lldb_private::PluginManager::GetSettingForSymbolFilePlugin
static lldb::OptionValuePropertiesSP GetSettingForSymbolFilePlugin(Debugger &debugger, ConstString setting_name)
Definition: PluginManager.cpp:1579
TraceCreateInstanceFromBundle
InstrumentationRuntimeCreateInstance
lldb_private::PluginManager::CreateSettingForJITLoaderPlugin
static bool CreateSettingForJITLoaderPlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, ConstString description, bool is_global_property)
Definition: PluginManager.cpp:1601
CompletionRequest.h
lldb_private::PluginManager::GetUnwindAssemblyCreateCallbackAtIndex
static UnwindAssemblyCreateInstance GetUnwindAssemblyCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:1191
lldb_private::PluginManager::CreateSettingForProcessPlugin
static bool CreateSettingForProcessPlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, ConstString description, bool is_global_property)
Definition: PluginManager.cpp:1554
lldb_private::PluginManager::GetScriptInterpreterCreateCallbackAtIndex
static ScriptInterpreterCreateInstance GetScriptInterpreterCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:913
lldb_private::PluginManager::GetPlatformCreateCallbackForPluginName
static PlatformCreateInstance GetPlatformCreateCallbackForPluginName(llvm::StringRef name)
Definition: PluginManager.cpp:818
lldb_private::PluginManager::GetSettingForProcessPlugin
static lldb::OptionValuePropertiesSP GetSettingForProcessPlugin(Debugger &debugger, ConstString setting_name)
Definition: PluginManager.cpp:1548
lldb_private::PluginManager::GetObjectFileCreateMemoryCallbackForPluginName
static ObjectFileCreateMemoryInstance GetObjectFileCreateMemoryCallbackForPluginName(llvm::StringRef name)
Definition: PluginManager.cpp:682
lldb_private::PluginManager::GetABICreateCallbackAtIndex
static ABICreateInstance GetABICreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:297
lldb_private::FileSpec
Definition: FileSpec.h:55
lldb_private::PluginManager::CreateSettingForOperatingSystemPlugin
static bool CreateSettingForOperatingSystemPlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, ConstString description, bool is_global_property)
Definition: PluginManager.cpp:1626
lldb_private::PluginManager::CreateSettingForDynamicLoaderPlugin
static bool CreateSettingForDynamicLoaderPlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, ConstString description, bool is_global_property)
Definition: PluginManager.cpp:1521
lldb_private::PluginManager::UnregisterPlugin
static bool UnregisterPlugin(ABICreateInstance create_callback)
Definition: PluginManager.cpp:293
lldb_private::PluginManager
Definition: PluginManager.h:50
lldb_private::PluginManager::GetScriptInterpreterForLanguage
static lldb::ScriptInterpreterSP GetScriptInterpreterForLanguage(lldb::ScriptLanguage script_lang, Debugger &debugger)
Definition: PluginManager.cpp:918
lldb_private::PluginManager::GetSettingForObjectFilePlugin
static lldb::OptionValuePropertiesSP GetSettingForObjectFilePlugin(Debugger &debugger, ConstString setting_name)
Definition: PluginManager.cpp:1563
lldb_private::PluginManager::GetDynamicLoaderCreateCallbackAtIndex
static DynamicLoaderCreateInstance GetDynamicLoaderCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:396
lldb_private::PluginManager::GetInstrumentationRuntimeGetTypeCallbackAtIndex
static InstrumentationRuntimeGetType GetInstrumentationRuntimeGetTypeCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:1259
lldb_private::PluginManager::GetOperatingSystemCreateCallbackForPluginName
static OperatingSystemCreateInstance GetOperatingSystemCreateCallbackForPluginName(llvm::StringRef name)
Definition: PluginManager.cpp:496
lldb_private::PluginManager::CreateSettingForSymbolFilePlugin
static bool CreateSettingForSymbolFilePlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, ConstString description, bool is_global_property)
Definition: PluginManager.cpp:1585
lldb_private::ConstString
Definition: ConstString.h:39
lldb_private::PluginManager::GetTraceSchema
static llvm::StringRef GetTraceSchema(llvm::StringRef plugin_name)
Get the JSON schema for a trace bundle description file corresponding to the given plugin.
Definition: PluginManager.cpp:1100
lldb_private::PluginManager::GetDynamicLoaderCreateCallbackForPluginName
static DynamicLoaderCreateInstance GetDynamicLoaderCreateCallbackForPluginName(llvm::StringRef name)
Definition: PluginManager.cpp:401
lldb-enumerations.h
ScriptInterpreterCreateInstance
lldb_private::PluginManager::GetLanguageCreateCallbackAtIndex
static LanguageCreateInstance GetLanguageCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:523
ObjectContainerCreateInstance
lldb_private::PluginManager::GetProcessPluginDescriptionAtIndex
static llvm::StringRef GetProcessPluginDescriptionAtIndex(uint32_t idx)
Definition: PluginManager.cpp:856
lldb_private::Debugger
Definition: Debugger.h:74
TypeSystem.h
lldb_private::PluginManager::GetREPLCreateCallbackAtIndex
static REPLCreateInstance GetREPLCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:1359
lldb_private::PluginManager::GetTraceExporterPluginNameAtIndex
static llvm::StringRef GetTraceExporterPluginNameAtIndex(uint32_t index)
Definition: PluginManager.cpp:1164
lldb_private::PluginManager::GetPlatformCreateCallbackAtIndex
static PlatformCreateInstance GetPlatformCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:813
lldb_private::PluginManager::GetSettingForDynamicLoaderPlugin
static lldb::OptionValuePropertiesSP GetSettingForDynamicLoaderPlugin(Debugger &debugger, ConstString setting_name)
Definition: PluginManager.cpp:1515
lldb_private::PluginManager::DebuggerInitialize
static void DebuggerInitialize(Debugger &debugger)
Definition: PluginManager.cpp:1379
lldb_private::PluginManager::GetTraceCreateCallbackForLiveProcess
static TraceCreateInstanceForLiveProcess GetTraceCreateCallbackForLiveProcess(llvm::StringRef plugin_name)
Definition: PluginManager.cpp:1093
lldb_private::PluginManager::GetSymbolVendorCreateCallbackAtIndex
static SymbolVendorCreateInstance GetSymbolVendorCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:1042
lldb_private::PluginManager::CreateArchitectureInstance
static std::unique_ptr< Architecture > CreateArchitectureInstance(const ArchSpec &arch)
Definition: PluginManager.cpp:331
lldb_private::PluginManager::GetMemoryHistoryCreateCallbackAtIndex
static MemoryHistoryCreateInstance GetMemoryHistoryCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:1218
lldb_private::PluginManager::GetObjectFileCreateMemoryCallbackAtIndex
static ObjectFileCreateMemoryInstance GetObjectFileCreateMemoryCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:665
lldb_private::Status
Definition: Status.h:44
lldb_private::PluginManager::GetEmulateInstructionCreateCallbackAtIndex
static EmulateInstructionCreateInstance GetEmulateInstructionCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:457
uint32_t
lldb_private::PluginManager::GetREPLSupportedLanguagesAtIndex
static LanguageSet GetREPLSupportedLanguagesAtIndex(uint32_t idx)
Definition: PluginManager.cpp:1363
lldb_private::PluginManager::GetSettingForJITLoaderPlugin
static lldb::OptionValuePropertiesSP GetSettingForJITLoaderPlugin(Debugger &debugger, ConstString setting_name)
Definition: PluginManager.cpp:1595
lldb_private::PluginManager::GetProcessCreateCallbackAtIndex
static ProcessCreateInstance GetProcessCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:861
lldb_private::PluginManager::GetPlatformPluginDescriptionAtIndex
static llvm::StringRef GetPlatformPluginDescriptionAtIndex(uint32_t idx)
Definition: PluginManager.cpp:808
lldb_private::PluginManager::CreateSettingForPlatformPlugin
static bool CreateSettingForPlatformPlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, ConstString description, bool is_global_property)
Definition: PluginManager.cpp:1538
lldb_private::PluginManager::GetDisassemblerCreateCallbackAtIndex
static DisassemblerCreateInstance GetDisassemblerCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:362
lldb::SaveCoreStyle
SaveCoreStyle
Definition: lldb-enumerations.h:1162
lldb_private::PluginManager::SaveCore
static Status SaveCore(const lldb::ProcessSP &process_sp, const FileSpec &outfile, lldb::SaveCoreStyle &core_style, llvm::StringRef plugin_name)
Definition: PluginManager.cpp:692
lldb_private::PluginManager::GetSymbolFileCreateCallbackAtIndex
static SymbolFileCreateInstance GetSymbolFileCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:1015
lldb_private::PluginManager::GetREPLAllTypeSystemSupportedLanguages
static LanguageSet GetREPLAllTypeSystemSupportedLanguages()
Definition: PluginManager.cpp:1369
lldb_private::PluginManager::GetStructuredDataFilterCallbackAtIndex
static StructuredDataFilterLaunchInfo GetStructuredDataFilterCallbackAtIndex(uint32_t idx, bool &iteration_complete)
Definition: PluginManager.cpp:980
lldb_private::PluginManager::GetJITLoaderCreateCallbackAtIndex
static JITLoaderCreateInstance GetJITLoaderCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:429
lldb_private::PluginManager::CreateSettingForStructuredDataPlugin
static bool CreateSettingForStructuredDataPlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, ConstString description, bool is_global_property)
Definition: PluginManager.cpp:1651
lldb-forward.h
lldb_private::PluginManager::GetSystemRuntimeCreateCallbackAtIndex
static SystemRuntimeCreateInstance GetSystemRuntimeCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:612
Status.h
lldb_private::PluginManager::RegisterPlugin
static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, ABICreateInstance create_callback)
Definition: PluginManager.cpp:287
lldb_private::PluginManager::GetLanguageRuntimeGetCommandObjectAtIndex
static LanguageRuntimeGetCommandObject GetLanguageRuntimeGetCommandObjectAtIndex(uint32_t idx)
Definition: PluginManager.cpp:574
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
ObjectFileCreateInstance
lldb_private::PluginManager::GetOperatingSystemCreateCallbackAtIndex
static OperatingSystemCreateInstance GetOperatingSystemCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:491
lldb_private::PluginManager::GetSettingForStructuredDataPlugin
static lldb::OptionValuePropertiesSP GetSettingForStructuredDataPlugin(Debugger &debugger, ConstString setting_name)
Definition: PluginManager.cpp:1645
lldb_private::PluginManager::GetTypeSystemCreateCallbackAtIndex
static TypeSystemCreateInstance GetTypeSystemCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:1310
lldb_private::PluginManager::AutoCompleteProcessName
static void AutoCompleteProcessName(llvm::StringRef partial_name, CompletionRequest &request)
Definition: PluginManager.cpp:870
lldb_private::PluginManager::AutoCompletePlatformName
static void AutoCompletePlatformName(llvm::StringRef partial_name, CompletionRequest &request)
Definition: PluginManager.cpp:822
FileSpec.h
lldb_private::PluginManager::GetTraceCreateCallback
static TraceCreateInstanceFromBundle GetTraceCreateCallback(llvm::StringRef plugin_name)
Definition: PluginManager.cpp:1088
lldb_private::LanguageSet
A SmallBitVector that represents a set of source languages (lldb::LanguageType).
Definition: TypeSystem.h:43
lldb_private::PluginManager::GetProcessPluginNameAtIndex
static llvm::StringRef GetProcessPluginNameAtIndex(uint32_t idx)
Definition: PluginManager.cpp:852
lldb_private::PluginManager::GetSettingForOperatingSystemPlugin
static lldb::OptionValuePropertiesSP GetSettingForOperatingSystemPlugin(Debugger &debugger, ConstString setting_name)
Definition: PluginManager.cpp:1612
lldb_private::PluginManager::GetAllTypeSystemSupportedLanguagesForTypes
static LanguageSet GetAllTypeSystemSupportedLanguagesForTypes()
Definition: PluginManager.cpp:1314
lldb_private::PluginManager::GetDisassemblerCreateCallbackForPluginName
static DisassemblerCreateInstance GetDisassemblerCreateCallbackForPluginName(llvm::StringRef name)
Definition: PluginManager.cpp:367
REPLCreateInstance
lldb_private::PluginManager::CreateSettingForObjectFilePlugin
static bool CreateSettingForObjectFilePlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, ConstString description, bool is_global_property)
Definition: PluginManager.cpp:1569
lldb_private::PluginManager::GetObjectContainerCreateCallbackAtIndex
static ObjectContainerCreateInstance GetObjectContainerCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:760
lldb_private::PluginManager::GetPlatformPluginNameAtIndex
static llvm::StringRef GetPlatformPluginNameAtIndex(uint32_t idx)
Definition: PluginManager.cpp:803
lldb_private::PluginManager::GetObjectFileCreateCallbackAtIndex
static ObjectFileCreateInstance GetObjectFileCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:660
TraceExporterCreateInstance
lldb_private::PluginManager::GetObjectContainerGetModuleSpecificationsCallbackAtIndex
static ObjectFileGetModuleSpecifications GetObjectContainerGetModuleSpecificationsCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:773
lldb_private::PluginManager::Terminate
static void Terminate()
Definition: PluginManager.cpp:168
lldb_private::PluginManager::GetThreadTraceExportCommandCreatorAtIndex
static ThreadTraceExportCommandCreator GetThreadTraceExportCommandCreatorAtIndex(uint32_t index)
Return the callback used to create the CommandObject that will be listed under "thread trace export".
Definition: PluginManager.cpp:1156
lldb_private::PluginManager::GetSettingForPlatformPlugin
static lldb::OptionValuePropertiesSP GetSettingForPlatformPlugin(Debugger &debugger, ConstString setting_name)
Definition: PluginManager.cpp:1531
lldb_private::PluginManager::GetLanguageRuntimeCreateCallbackAtIndex
static LanguageRuntimeCreateInstance GetLanguageRuntimeCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:569
lldb_private::CompletionRequest
Definition: CompletionRequest.h:100
lldb_private::PluginManager::GetInstrumentationRuntimeCreateCallbackAtIndex
static InstrumentationRuntimeCreateInstance GetInstrumentationRuntimeCreateCallbackAtIndex(uint32_t idx)
Definition: PluginManager.cpp:1267
DebuggerInitializeCallback
lldb_private::PluginManager::Initialize
static void Initialize()
Definition: PluginManager.cpp:144