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
16#include "lldb/Utility/Status.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
44namespace lldb_private {
45class CommandInterpreter;
46class ConstString;
47class Debugger;
48class StringList;
49
51public:
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
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
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
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 // Register Type Provider
257 static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
258 RegisterTypeBuilderCreateInstance create_callback);
259
260 static bool
262
263 static lldb::RegisterTypeBuilderSP GetRegisterTypeBuilder(Target &target);
264
265 // ScriptInterpreter
266 static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
267 lldb::ScriptLanguage script_lang,
268 ScriptInterpreterCreateInstance create_callback);
269
270 static bool UnregisterPlugin(ScriptInterpreterCreateInstance create_callback);
271
274
275 static lldb::ScriptInterpreterSP
277 Debugger &debugger);
278
279 // StructuredDataPlugin
280
281 /// Register a StructuredDataPlugin class along with optional
282 /// callbacks for debugger initialization and Process launch info
283 /// filtering and manipulation.
284 ///
285 /// \param[in] name
286 /// The name of the plugin.
287 ///
288 /// \param[in] description
289 /// A description string for the plugin.
290 ///
291 /// \param[in] create_callback
292 /// The callback that will be invoked to create an instance of
293 /// the callback. This may not be nullptr.
294 ///
295 /// \param[in] debugger_init_callback
296 /// An optional callback that will be made when a Debugger
297 /// instance is initialized.
298 ///
299 /// \param[in] filter_callback
300 /// An optional callback that will be invoked before LLDB
301 /// launches a process for debugging. The callback must
302 /// do the following:
303 /// 1. Only do something if the plugin's behavior is enabled.
304 /// 2. Only make changes for processes that are relevant to the
305 /// plugin. The callback gets a pointer to the Target, which
306 /// can be inspected as needed. The ProcessLaunchInfo is
307 /// provided in read-write mode, and may be modified by the
308 /// plugin if, for instance, additional environment variables
309 /// are needed to support the feature when enabled.
310 ///
311 /// \return
312 /// Returns true upon success; otherwise, false.
313 static bool
314 RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
316 DebuggerInitializeCallback debugger_init_callback = nullptr,
317 StructuredDataFilterLaunchInfo filter_callback = nullptr);
318
319 static bool
321
324
325 static StructuredDataFilterLaunchInfo
327 bool &iteration_complete);
328
329 // SymbolFile
330 static bool
331 RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
332 SymbolFileCreateInstance create_callback,
333 DebuggerInitializeCallback debugger_init_callback = nullptr);
334
335 static bool UnregisterPlugin(SymbolFileCreateInstance create_callback);
336
337 static SymbolFileCreateInstance
339
340 // SymbolVendor
341 static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
342 SymbolVendorCreateInstance create_callback);
343
344 static bool UnregisterPlugin(SymbolVendorCreateInstance create_callback);
345
346 static SymbolVendorCreateInstance
348
349 // Trace
350 static bool RegisterPlugin(
351 llvm::StringRef name, llvm::StringRef description,
352 TraceCreateInstanceFromBundle create_callback_from_bundle,
353 TraceCreateInstanceForLiveProcess create_callback_for_live_process,
354 llvm::StringRef schema,
355 DebuggerInitializeCallback debugger_init_callback);
356
357 static bool
359
361 GetTraceCreateCallback(llvm::StringRef plugin_name);
362
363 static TraceCreateInstanceForLiveProcess
364 GetTraceCreateCallbackForLiveProcess(llvm::StringRef plugin_name);
365
366 /// Get the JSON schema for a trace bundle description file corresponding to
367 /// the given plugin.
368 ///
369 /// \param[in] plugin_name
370 /// The name of the plugin.
371 ///
372 /// \return
373 /// An empty \a StringRef if no plugin was found with that plugin name,
374 /// otherwise the actual schema is returned.
375 static llvm::StringRef GetTraceSchema(llvm::StringRef plugin_name);
376
377 /// Get the JSON schema for a trace bundle description file corresponding to
378 /// the plugin given by its index.
379 ///
380 /// \param[in] index
381 /// The index of the plugin to get the schema of.
382 ///
383 /// \return
384 /// An empty \a StringRef if the index is greater than or equal to the
385 /// number plugins, otherwise the actual schema is returned.
386 static llvm::StringRef GetTraceSchema(size_t index);
387
388 // TraceExporter
389
390 /// \param[in] create_thread_trace_export_command
391 /// This callback is used to create a CommandObject that will be listed
392 /// under "thread trace export". Can be \b null.
393 static bool RegisterPlugin(
394 llvm::StringRef name, llvm::StringRef description,
395 TraceExporterCreateInstance create_callback,
396 ThreadTraceExportCommandCreator create_thread_trace_export_command);
397
399 GetTraceExporterCreateCallback(llvm::StringRef plugin_name);
400
401 static bool UnregisterPlugin(TraceExporterCreateInstance create_callback);
402
403 static llvm::StringRef GetTraceExporterPluginNameAtIndex(uint32_t index);
404
405 /// Return the callback used to create the CommandObject that will be listed
406 /// under "thread trace export". Can be \b null.
407 static ThreadTraceExportCommandCreator
409
410 // UnwindAssembly
411 static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
412 UnwindAssemblyCreateInstance create_callback);
413
414 static bool UnregisterPlugin(UnwindAssemblyCreateInstance create_callback);
415
416 static UnwindAssemblyCreateInstance
418
419 // MemoryHistory
420 static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
421 MemoryHistoryCreateInstance create_callback);
422
423 static bool UnregisterPlugin(MemoryHistoryCreateInstance create_callback);
424
425 static MemoryHistoryCreateInstance
427
428 // InstrumentationRuntime
429 static bool
430 RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
432 InstrumentationRuntimeGetType get_type_callback);
433
434 static bool
436
437 static InstrumentationRuntimeGetType
439
442
443 // TypeSystem
444 static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
445 TypeSystemCreateInstance create_callback,
446 LanguageSet supported_languages_for_types,
447 LanguageSet supported_languages_for_expressions);
448
449 static bool UnregisterPlugin(TypeSystemCreateInstance create_callback);
450
453
455
457
458 // REPL
459 static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description,
460 REPLCreateInstance create_callback,
461 LanguageSet supported_languages);
462
463 static bool UnregisterPlugin(REPLCreateInstance create_callback);
464
466
468
470
471 // Some plug-ins might register a DebuggerInitializeCallback callback when
472 // registering the plug-in. After a new Debugger instance is created, this
473 // DebuggerInitialize function will get called. This allows plug-ins to
474 // install Properties and do any other initialization that requires a
475 // debugger instance.
476 static void DebuggerInitialize(Debugger &debugger);
477
478 static lldb::OptionValuePropertiesSP
480 ConstString setting_name);
481
483 Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
484 llvm::StringRef description, bool is_global_property);
485
486 static lldb::OptionValuePropertiesSP
487 GetSettingForPlatformPlugin(Debugger &debugger, ConstString setting_name);
488
490 Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
491 llvm::StringRef description, bool is_global_property);
492
493 static lldb::OptionValuePropertiesSP
494 GetSettingForProcessPlugin(Debugger &debugger, ConstString setting_name);
495
497 Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
498 llvm::StringRef description, bool is_global_property);
499
500 static bool CreateSettingForTracePlugin(
501 Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
502 llvm::StringRef description, bool is_global_property);
503
504 static lldb::OptionValuePropertiesSP
505 GetSettingForObjectFilePlugin(Debugger &debugger, ConstString setting_name);
506
508 Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
509 llvm::StringRef description, bool is_global_property);
510
511 static lldb::OptionValuePropertiesSP
512 GetSettingForSymbolFilePlugin(Debugger &debugger, ConstString setting_name);
513
515 Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
516 llvm::StringRef description, bool is_global_property);
517
518 static lldb::OptionValuePropertiesSP
519 GetSettingForJITLoaderPlugin(Debugger &debugger, ConstString setting_name);
520
522 Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
523 llvm::StringRef description, bool is_global_property);
524
525 static lldb::OptionValuePropertiesSP
527 ConstString setting_name);
528
530 Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
531 llvm::StringRef description, bool is_global_property);
532
533 static lldb::OptionValuePropertiesSP
535 ConstString setting_name);
536
538 Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
539 llvm::StringRef description, bool is_global_property);
540};
541
542} // namespace lldb_private
543
544#endif // LLDB_CORE_PLUGINMANAGER_H
An architecture specification class.
Definition: ArchSpec.h:31
"lldb/Utility/ArgCompletionRequest.h"
A uniqued constant string class.
Definition: ConstString.h:39
A class to manage flag bits.
Definition: Debugger.h:78
A file utility class.
Definition: FileSpec.h:56
static llvm::StringRef GetPlatformPluginDescriptionAtIndex(uint32_t idx)
static lldb::OptionValuePropertiesSP GetSettingForJITLoaderPlugin(Debugger &debugger, ConstString setting_name)
static llvm::StringRef GetTraceExporterPluginNameAtIndex(uint32_t index)
static bool CreateSettingForJITLoaderPlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, llvm::StringRef description, bool is_global_property)
static lldb::OptionValuePropertiesSP GetSettingForObjectFilePlugin(Debugger &debugger, ConstString setting_name)
static ProcessCreateInstance GetProcessCreateCallbackAtIndex(uint32_t idx)
static JITLoaderCreateInstance GetJITLoaderCreateCallbackAtIndex(uint32_t idx)
static ABICreateInstance GetABICreateCallbackAtIndex(uint32_t idx)
static LanguageSet GetAllTypeSystemSupportedLanguagesForExpressions()
static bool CreateSettingForOperatingSystemPlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, llvm::StringRef description, bool is_global_property)
static void AutoCompletePlatformName(llvm::StringRef partial_name, CompletionRequest &request)
static TraceExporterCreateInstance GetTraceExporterCreateCallback(llvm::StringRef plugin_name)
static bool CreateSettingForObjectFilePlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, llvm::StringRef description, bool is_global_property)
static lldb::ScriptInterpreterSP GetScriptInterpreterForLanguage(lldb::ScriptLanguage script_lang, Debugger &debugger)
static void AutoCompleteProcessName(llvm::StringRef partial_name, CompletionRequest &request)
static ThreadTraceExportCommandCreator GetThreadTraceExportCommandCreatorAtIndex(uint32_t index)
Return the callback used to create the CommandObject that will be listed under "thread trace export".
static LanguageSet GetREPLAllTypeSystemSupportedLanguages()
static PlatformCreateInstance GetPlatformCreateCallbackAtIndex(uint32_t idx)
static bool CreateSettingForTracePlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, llvm::StringRef description, bool is_global_property)
static UnwindAssemblyCreateInstance GetUnwindAssemblyCreateCallbackAtIndex(uint32_t idx)
static SymbolFileCreateInstance GetSymbolFileCreateCallbackAtIndex(uint32_t idx)
static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, ABICreateInstance create_callback)
static TypeSystemCreateInstance GetTypeSystemCreateCallbackAtIndex(uint32_t idx)
static InstrumentationRuntimeGetType GetInstrumentationRuntimeGetTypeCallbackAtIndex(uint32_t idx)
static llvm::StringRef GetTraceSchema(llvm::StringRef plugin_name)
Get the JSON schema for a trace bundle description file corresponding to the given plugin.
static TraceCreateInstanceForLiveProcess GetTraceCreateCallbackForLiveProcess(llvm::StringRef plugin_name)
static lldb::OptionValuePropertiesSP GetSettingForProcessPlugin(Debugger &debugger, ConstString setting_name)
static LanguageRuntimeCreateInstance GetLanguageRuntimeCreateCallbackAtIndex(uint32_t idx)
static std::unique_ptr< Architecture > CreateArchitectureInstance(const ArchSpec &arch)
static SystemRuntimeCreateInstance GetSystemRuntimeCreateCallbackAtIndex(uint32_t idx)
static lldb::OptionValuePropertiesSP GetSettingForOperatingSystemPlugin(Debugger &debugger, ConstString setting_name)
static bool CreateSettingForProcessPlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, llvm::StringRef description, bool is_global_property)
static lldb::OptionValuePropertiesSP GetSettingForPlatformPlugin(Debugger &debugger, ConstString setting_name)
static SymbolVendorCreateInstance GetSymbolVendorCreateCallbackAtIndex(uint32_t idx)
static LanguageRuntimeGetCommandObject GetLanguageRuntimeGetCommandObjectAtIndex(uint32_t idx)
static OperatingSystemCreateInstance GetOperatingSystemCreateCallbackAtIndex(uint32_t idx)
static LanguageRuntimeGetExceptionPrecondition GetLanguageRuntimeGetExceptionPreconditionAtIndex(uint32_t idx)
static REPLCreateInstance GetREPLCreateCallbackAtIndex(uint32_t idx)
static ObjectFileCreateMemoryInstance GetObjectFileCreateMemoryCallbackAtIndex(uint32_t idx)
static lldb::OptionValuePropertiesSP GetSettingForSymbolFilePlugin(Debugger &debugger, ConstString setting_name)
static DisassemblerCreateInstance GetDisassemblerCreateCallbackForPluginName(llvm::StringRef name)
static MemoryHistoryCreateInstance GetMemoryHistoryCreateCallbackAtIndex(uint32_t idx)
static bool CreateSettingForSymbolFilePlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, llvm::StringRef description, bool is_global_property)
static bool CreateSettingForPlatformPlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, llvm::StringRef description, bool is_global_property)
static OperatingSystemCreateInstance GetOperatingSystemCreateCallbackForPluginName(llvm::StringRef name)
static DisassemblerCreateInstance GetDisassemblerCreateCallbackAtIndex(uint32_t idx)
static ObjectContainerCreateInstance GetObjectContainerCreateCallbackAtIndex(uint32_t idx)
static ObjectFileCreateInstance GetObjectFileCreateCallbackAtIndex(uint32_t idx)
static EmulateInstructionCreateInstance GetEmulateInstructionCreateCallbackForPluginName(llvm::StringRef name)
static bool CreateSettingForStructuredDataPlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, llvm::StringRef description, bool is_global_property)
static DynamicLoaderCreateInstance GetDynamicLoaderCreateCallbackAtIndex(uint32_t idx)
static lldb::OptionValuePropertiesSP GetSettingForDynamicLoaderPlugin(Debugger &debugger, ConstString setting_name)
static ObjectFileGetModuleSpecifications GetObjectContainerGetModuleSpecificationsCallbackAtIndex(uint32_t idx)
static DynamicLoaderCreateInstance GetDynamicLoaderCreateCallbackForPluginName(llvm::StringRef name)
static PlatformCreateInstance GetPlatformCreateCallbackForPluginName(llvm::StringRef name)
static ScriptInterpreterCreateInstance GetScriptInterpreterCreateCallbackAtIndex(uint32_t idx)
static LanguageCreateInstance GetLanguageCreateCallbackAtIndex(uint32_t idx)
static Status SaveCore(const lldb::ProcessSP &process_sp, const FileSpec &outfile, lldb::SaveCoreStyle &core_style, llvm::StringRef plugin_name)
static ProcessCreateInstance GetProcessCreateCallbackForPluginName(llvm::StringRef name)
static lldb::OptionValuePropertiesSP GetSettingForStructuredDataPlugin(Debugger &debugger, ConstString setting_name)
static llvm::StringRef GetProcessPluginDescriptionAtIndex(uint32_t idx)
static bool CreateSettingForDynamicLoaderPlugin(Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, llvm::StringRef description, bool is_global_property)
static StructuredDataPluginCreateInstance GetStructuredDataPluginCreateCallbackAtIndex(uint32_t idx)
static ObjectFileGetModuleSpecifications GetObjectFileGetModuleSpecificationsCallbackAtIndex(uint32_t idx)
static llvm::StringRef GetPlatformPluginNameAtIndex(uint32_t idx)
static TraceCreateInstanceFromBundle GetTraceCreateCallback(llvm::StringRef plugin_name)
static void DebuggerInitialize(Debugger &debugger)
static llvm::StringRef GetProcessPluginNameAtIndex(uint32_t idx)
static LanguageSet GetAllTypeSystemSupportedLanguagesForTypes()
static bool UnregisterPlugin(ABICreateInstance create_callback)
static ObjectContainerCreateMemoryInstance GetObjectContainerCreateMemoryCallbackAtIndex(uint32_t idx)
static StructuredDataFilterLaunchInfo GetStructuredDataFilterCallbackAtIndex(uint32_t idx, bool &iteration_complete)
static InstrumentationRuntimeCreateInstance GetInstrumentationRuntimeCreateCallbackAtIndex(uint32_t idx)
static LanguageSet GetREPLSupportedLanguagesAtIndex(uint32_t idx)
static lldb::RegisterTypeBuilderSP GetRegisterTypeBuilder(Target &target)
static ObjectFileCreateMemoryInstance GetObjectFileCreateMemoryCallbackForPluginName(llvm::StringRef name)
static EmulateInstructionCreateInstance GetEmulateInstructionCreateCallbackAtIndex(uint32_t idx)
An error handling class.
Definition: Status.h:44
A class that represents a running process on the host machine.
Definition: SBAttachInfo.h:14
ScriptLanguage
Script interpreter types.
A SmallBitVector that represents a set of source languages (lldb::LanguageType).
Definition: TypeSystem.h:45