/Users/buildslave/jenkins/workspace/coverage/llvm-project/lldb/include/lldb/Core/PluginManager.h
Line | Count | Source |
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" |
14 | | #include "lldb/Utility/CompletionRequest.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" |
19 | | #include "lldb/lldb-private-interfaces.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 | 326k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ lldb_private::lldb_initialize_ObjectFileMachO() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_CPlusPlusLanguage() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjCLanguage() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_TypeSystemClang() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_AppleObjCRuntime() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_SymbolFileDWARF() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_SymbolFilePDB() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjectFilePDB() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ABIAArch64() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ABIARM() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
Unexecuted instantiation: lldb_private::lldb_initialize_ABISysV_arm() lldb_private::lldb_initialize_ABIX86() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
Unexecuted instantiation: lldb_private::lldb_initialize_ABIMacOSX_i386() Unexecuted instantiation: lldb_private::lldb_initialize_ABISysV_i386() Unexecuted instantiation: lldb_private::lldb_initialize_ABISysV_x86_64() Unexecuted instantiation: lldb_private::lldb_initialize_ABIWindows_x86_64() lldb_private::lldb_initialize_ArchitectureArm() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ArchitectureMips() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ArchitecturePPC64() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ArchitectureAArch64() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_DisassemblerLLVMC() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_DynamicLoaderDarwinKernel() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_DynamicLoaderMacOSXDYLD() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_DynamicLoaderPosixDYLD() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_DynamicLoaderStatic() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_DynamicLoaderHexagonDYLD() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_DynamicLoaderWindowsDYLD() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_DynamicLoaderWasmDYLD() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_InstructionARM() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_InstructionARM64() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_InstructionLoongArch() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_InstructionMIPS() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_InstructionMIPS64() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_InstructionPPC64() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_InstructionRISCV() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_InstrumentationRuntimeASan() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_InstrumentationRuntimeMainThreadChecker() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_InstrumentationRuntimeTSan() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_InstrumentationRuntimeUBSan() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_JITLoaderGDB() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjCPlusPlusLanguage() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_CXXItaniumABI() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_GNUstepObjCRuntime() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_MemoryHistoryASan() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjectContainerBSDArchive() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjectContainerMachOArchive() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjectContainerMachOFileset() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjectFileBreakpad() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjectFileCOFF() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjectFileELF() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjectFileJSON() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjectFileMinidump() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjectFilePECOFF() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjectFilePlaceholder() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ObjectFileWasm() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_OperatingSystemPython() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_PlatformAndroid() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_PlatformFreeBSD() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_PlatformGDB() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_PlatformLinux() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_PlatformMacOSX() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
Unexecuted instantiation: lldb_private::lldb_initialize_PlatformRemoteiOS() lldb_private::lldb_initialize_PlatformNetBSD() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_PlatformOpenBSD() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_PlatformQemuUser() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_PlatformWindows() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ProcessMacOSXKernel() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ScriptedProcess() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ProcessGDBRemote() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ProcessElfCore() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ProcessMachCore() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ProcessMinidump() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ClangREPL() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_RegisterTypeBuilderClang() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ScriptInterpreterNone() Line | Count | Source | 27 | 4.03k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_StructuredDataDarwinLog() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_SymbolFileBreakpad() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_SymbolFileCTF() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_SymbolFileJSON() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_SymbolFileSymtab() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_SystemRuntimeMacOSX() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_SymbolVendorELF() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_SymbolVendorMacOSX() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_SymbolVendorPECOFF() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_SymbolVendorWasm() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_TraceExporterCTF() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_UnwindAssemblyInstEmulation() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_UnwindAssemblyX86() Line | Count | Source | 27 | 3.92k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
lldb_private::lldb_initialize_ScriptInterpreterPython() Line | Count | Source | 27 | 3.82k | void lldb_initialize_##PluginName() { ClassName::Initialize(); } \ |
|
28 | 325k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ lldb_private::lldb_terminate_ObjectFileMachO() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_CPlusPlusLanguage() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjCLanguage() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_TypeSystemClang() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_AppleObjCRuntime() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_SymbolFileDWARF() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_SymbolFilePDB() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjectFilePDB() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ABIAArch64() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ABIARM() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
Unexecuted instantiation: lldb_private::lldb_terminate_ABISysV_arm() lldb_private::lldb_terminate_ABIX86() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
Unexecuted instantiation: lldb_private::lldb_terminate_ABIMacOSX_i386() Unexecuted instantiation: lldb_private::lldb_terminate_ABISysV_i386() Unexecuted instantiation: lldb_private::lldb_terminate_ABISysV_x86_64() Unexecuted instantiation: lldb_private::lldb_terminate_ABIWindows_x86_64() lldb_private::lldb_terminate_ArchitectureArm() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ArchitectureMips() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ArchitecturePPC64() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ArchitectureAArch64() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_DisassemblerLLVMC() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_DynamicLoaderDarwinKernel() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_DynamicLoaderMacOSXDYLD() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_DynamicLoaderPosixDYLD() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_DynamicLoaderStatic() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_DynamicLoaderHexagonDYLD() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_DynamicLoaderWindowsDYLD() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_DynamicLoaderWasmDYLD() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_InstructionARM() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_InstructionARM64() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_InstructionLoongArch() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_InstructionMIPS() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_InstructionMIPS64() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_InstructionPPC64() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_InstructionRISCV() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_InstrumentationRuntimeASan() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_InstrumentationRuntimeMainThreadChecker() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_InstrumentationRuntimeTSan() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_InstrumentationRuntimeUBSan() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_JITLoaderGDB() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjCPlusPlusLanguage() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_CXXItaniumABI() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_GNUstepObjCRuntime() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_MemoryHistoryASan() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjectContainerBSDArchive() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjectContainerMachOArchive() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjectContainerMachOFileset() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjectFileBreakpad() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjectFileCOFF() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjectFileELF() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjectFileJSON() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjectFileMinidump() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjectFilePECOFF() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjectFilePlaceholder() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ObjectFileWasm() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_OperatingSystemPython() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_PlatformAndroid() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_PlatformFreeBSD() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_PlatformGDB() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_PlatformLinux() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_PlatformMacOSX() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
Unexecuted instantiation: lldb_private::lldb_terminate_PlatformRemoteiOS() lldb_private::lldb_terminate_PlatformNetBSD() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_PlatformOpenBSD() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_PlatformQemuUser() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_PlatformWindows() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ProcessMacOSXKernel() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ScriptedProcess() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ProcessGDBRemote() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ProcessElfCore() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ProcessMachCore() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ProcessMinidump() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ClangREPL() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_RegisterTypeBuilderClang() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ScriptInterpreterNone() Line | Count | Source | 28 | 3.81k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_StructuredDataDarwinLog() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_SymbolFileBreakpad() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_SymbolFileCTF() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_SymbolFileJSON() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_SymbolFileSymtab() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_SystemRuntimeMacOSX() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_SymbolVendorELF() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_SymbolVendorMacOSX() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_SymbolVendorPECOFF() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_SymbolVendorWasm() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_TraceExporterCTF() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_UnwindAssemblyInstEmulation() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_UnwindAssemblyX86() Line | Count | Source | 28 | 3.92k | void lldb_terminate_##PluginName() { ClassName::Terminate(); } \ |
lldb_private::lldb_terminate_ScriptInterpreterPython() Line | Count | Source | 28 | 3.81k | 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 | 326k | #define LLDB_PLUGIN_INITIALIZE(PluginName) lldb_initialize_##PluginName() |
42 | 325k | #define LLDB_PLUGIN_TERMINATE(PluginName) lldb_terminate_##PluginName() |
43 | | |
44 | | namespace lldb_private { |
45 | | class CommandInterpreter; |
46 | | class Debugger; |
47 | | class StringList; |
48 | | |
49 | | class PluginManager { |
50 | | public: |
51 | | static void Initialize(); |
52 | | |
53 | | static void Terminate(); |
54 | | |
55 | | // ABI |
56 | | static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
57 | | ABICreateInstance create_callback); |
58 | | |
59 | | static bool UnregisterPlugin(ABICreateInstance create_callback); |
60 | | |
61 | | static ABICreateInstance GetABICreateCallbackAtIndex(uint32_t idx); |
62 | | |
63 | | // Architecture |
64 | | static void RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
65 | | ArchitectureCreateInstance create_callback); |
66 | | |
67 | | static void UnregisterPlugin(ArchitectureCreateInstance create_callback); |
68 | | |
69 | | static std::unique_ptr<Architecture> |
70 | | CreateArchitectureInstance(const ArchSpec &arch); |
71 | | |
72 | | // Disassembler |
73 | | static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
74 | | DisassemblerCreateInstance create_callback); |
75 | | |
76 | | static bool UnregisterPlugin(DisassemblerCreateInstance create_callback); |
77 | | |
78 | | static DisassemblerCreateInstance |
79 | | GetDisassemblerCreateCallbackAtIndex(uint32_t idx); |
80 | | |
81 | | static DisassemblerCreateInstance |
82 | | GetDisassemblerCreateCallbackForPluginName(llvm::StringRef name); |
83 | | |
84 | | // DynamicLoader |
85 | | static bool |
86 | | RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
87 | | DynamicLoaderCreateInstance create_callback, |
88 | | DebuggerInitializeCallback debugger_init_callback = nullptr); |
89 | | |
90 | | static bool UnregisterPlugin(DynamicLoaderCreateInstance create_callback); |
91 | | |
92 | | static DynamicLoaderCreateInstance |
93 | | GetDynamicLoaderCreateCallbackAtIndex(uint32_t idx); |
94 | | |
95 | | static DynamicLoaderCreateInstance |
96 | | GetDynamicLoaderCreateCallbackForPluginName(llvm::StringRef name); |
97 | | |
98 | | // JITLoader |
99 | | static bool |
100 | | RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
101 | | JITLoaderCreateInstance create_callback, |
102 | | DebuggerInitializeCallback debugger_init_callback = nullptr); |
103 | | |
104 | | static bool UnregisterPlugin(JITLoaderCreateInstance create_callback); |
105 | | |
106 | | static JITLoaderCreateInstance |
107 | | GetJITLoaderCreateCallbackAtIndex(uint32_t idx); |
108 | | |
109 | | // EmulateInstruction |
110 | | static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
111 | | EmulateInstructionCreateInstance create_callback); |
112 | | |
113 | | static bool |
114 | | UnregisterPlugin(EmulateInstructionCreateInstance create_callback); |
115 | | |
116 | | static EmulateInstructionCreateInstance |
117 | | GetEmulateInstructionCreateCallbackAtIndex(uint32_t idx); |
118 | | |
119 | | static EmulateInstructionCreateInstance |
120 | | GetEmulateInstructionCreateCallbackForPluginName(llvm::StringRef name); |
121 | | |
122 | | // OperatingSystem |
123 | | static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
124 | | OperatingSystemCreateInstance create_callback, |
125 | | DebuggerInitializeCallback debugger_init_callback); |
126 | | |
127 | | static bool UnregisterPlugin(OperatingSystemCreateInstance create_callback); |
128 | | |
129 | | static OperatingSystemCreateInstance |
130 | | GetOperatingSystemCreateCallbackAtIndex(uint32_t idx); |
131 | | |
132 | | static OperatingSystemCreateInstance |
133 | | GetOperatingSystemCreateCallbackForPluginName(llvm::StringRef name); |
134 | | |
135 | | // Language |
136 | | static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
137 | | LanguageCreateInstance create_callback); |
138 | | |
139 | | static bool UnregisterPlugin(LanguageCreateInstance create_callback); |
140 | | |
141 | | static LanguageCreateInstance GetLanguageCreateCallbackAtIndex(uint32_t idx); |
142 | | |
143 | | // LanguageRuntime |
144 | | static bool RegisterPlugin( |
145 | | llvm::StringRef name, llvm::StringRef description, |
146 | | LanguageRuntimeCreateInstance create_callback, |
147 | | LanguageRuntimeGetCommandObject command_callback = nullptr, |
148 | | LanguageRuntimeGetExceptionPrecondition precondition_callback = nullptr); |
149 | | |
150 | | static bool UnregisterPlugin(LanguageRuntimeCreateInstance create_callback); |
151 | | |
152 | | static LanguageRuntimeCreateInstance |
153 | | GetLanguageRuntimeCreateCallbackAtIndex(uint32_t idx); |
154 | | |
155 | | static LanguageRuntimeGetCommandObject |
156 | | GetLanguageRuntimeGetCommandObjectAtIndex(uint32_t idx); |
157 | | |
158 | | static LanguageRuntimeGetExceptionPrecondition |
159 | | GetLanguageRuntimeGetExceptionPreconditionAtIndex(uint32_t idx); |
160 | | |
161 | | // SystemRuntime |
162 | | static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
163 | | SystemRuntimeCreateInstance create_callback); |
164 | | |
165 | | static bool UnregisterPlugin(SystemRuntimeCreateInstance create_callback); |
166 | | |
167 | | static SystemRuntimeCreateInstance |
168 | | GetSystemRuntimeCreateCallbackAtIndex(uint32_t idx); |
169 | | |
170 | | // ObjectFile |
171 | | static bool |
172 | | RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
173 | | ObjectFileCreateInstance create_callback, |
174 | | ObjectFileCreateMemoryInstance create_memory_callback, |
175 | | ObjectFileGetModuleSpecifications get_module_specifications, |
176 | | ObjectFileSaveCore save_core = nullptr, |
177 | | DebuggerInitializeCallback debugger_init_callback = nullptr); |
178 | | |
179 | | static bool UnregisterPlugin(ObjectFileCreateInstance create_callback); |
180 | | |
181 | | static ObjectFileCreateInstance |
182 | | GetObjectFileCreateCallbackAtIndex(uint32_t idx); |
183 | | |
184 | | static ObjectFileCreateMemoryInstance |
185 | | GetObjectFileCreateMemoryCallbackAtIndex(uint32_t idx); |
186 | | |
187 | | static ObjectFileGetModuleSpecifications |
188 | | GetObjectFileGetModuleSpecificationsCallbackAtIndex(uint32_t idx); |
189 | | |
190 | | static ObjectFileCreateMemoryInstance |
191 | | GetObjectFileCreateMemoryCallbackForPluginName(llvm::StringRef name); |
192 | | |
193 | | static Status SaveCore(const lldb::ProcessSP &process_sp, |
194 | | const FileSpec &outfile, |
195 | | lldb::SaveCoreStyle &core_style, |
196 | | llvm::StringRef plugin_name); |
197 | | |
198 | | // ObjectContainer |
199 | | static bool RegisterPlugin( |
200 | | llvm::StringRef name, llvm::StringRef description, |
201 | | ObjectContainerCreateInstance create_callback, |
202 | | ObjectFileGetModuleSpecifications get_module_specifications, |
203 | | ObjectContainerCreateMemoryInstance create_memory_callback = nullptr); |
204 | | |
205 | | static bool UnregisterPlugin(ObjectContainerCreateInstance create_callback); |
206 | | |
207 | | static ObjectContainerCreateInstance |
208 | | GetObjectContainerCreateCallbackAtIndex(uint32_t idx); |
209 | | |
210 | | static ObjectContainerCreateMemoryInstance |
211 | | GetObjectContainerCreateMemoryCallbackAtIndex(uint32_t idx); |
212 | | |
213 | | static ObjectFileGetModuleSpecifications |
214 | | GetObjectContainerGetModuleSpecificationsCallbackAtIndex(uint32_t idx); |
215 | | |
216 | | // Platform |
217 | | static bool |
218 | | RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
219 | | PlatformCreateInstance create_callback, |
220 | | DebuggerInitializeCallback debugger_init_callback = nullptr); |
221 | | |
222 | | static bool UnregisterPlugin(PlatformCreateInstance create_callback); |
223 | | |
224 | | static PlatformCreateInstance GetPlatformCreateCallbackAtIndex(uint32_t idx); |
225 | | |
226 | | static PlatformCreateInstance |
227 | | GetPlatformCreateCallbackForPluginName(llvm::StringRef name); |
228 | | |
229 | | static llvm::StringRef GetPlatformPluginNameAtIndex(uint32_t idx); |
230 | | |
231 | | static llvm::StringRef GetPlatformPluginDescriptionAtIndex(uint32_t idx); |
232 | | |
233 | | static void AutoCompletePlatformName(llvm::StringRef partial_name, |
234 | | CompletionRequest &request); |
235 | | // Process |
236 | | static bool |
237 | | RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
238 | | ProcessCreateInstance create_callback, |
239 | | DebuggerInitializeCallback debugger_init_callback = nullptr); |
240 | | |
241 | | static bool UnregisterPlugin(ProcessCreateInstance create_callback); |
242 | | |
243 | | static ProcessCreateInstance GetProcessCreateCallbackAtIndex(uint32_t idx); |
244 | | |
245 | | static ProcessCreateInstance |
246 | | GetProcessCreateCallbackForPluginName(llvm::StringRef name); |
247 | | |
248 | | static llvm::StringRef GetProcessPluginNameAtIndex(uint32_t idx); |
249 | | |
250 | | static llvm::StringRef GetProcessPluginDescriptionAtIndex(uint32_t idx); |
251 | | |
252 | | static void AutoCompleteProcessName(llvm::StringRef partial_name, |
253 | | CompletionRequest &request); |
254 | | |
255 | | // Register Type Provider |
256 | | static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
257 | | RegisterTypeBuilderCreateInstance create_callback); |
258 | | |
259 | | static bool |
260 | | UnregisterPlugin(RegisterTypeBuilderCreateInstance create_callback); |
261 | | |
262 | | static lldb::RegisterTypeBuilderSP GetRegisterTypeBuilder(Target &target); |
263 | | |
264 | | // ScriptInterpreter |
265 | | static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
266 | | lldb::ScriptLanguage script_lang, |
267 | | ScriptInterpreterCreateInstance create_callback); |
268 | | |
269 | | static bool UnregisterPlugin(ScriptInterpreterCreateInstance create_callback); |
270 | | |
271 | | static ScriptInterpreterCreateInstance |
272 | | GetScriptInterpreterCreateCallbackAtIndex(uint32_t idx); |
273 | | |
274 | | static lldb::ScriptInterpreterSP |
275 | | GetScriptInterpreterForLanguage(lldb::ScriptLanguage script_lang, |
276 | | Debugger &debugger); |
277 | | |
278 | | // StructuredDataPlugin |
279 | | |
280 | | /// Register a StructuredDataPlugin class along with optional |
281 | | /// callbacks for debugger initialization and Process launch info |
282 | | /// filtering and manipulation. |
283 | | /// |
284 | | /// \param[in] name |
285 | | /// The name of the plugin. |
286 | | /// |
287 | | /// \param[in] description |
288 | | /// A description string for the plugin. |
289 | | /// |
290 | | /// \param[in] create_callback |
291 | | /// The callback that will be invoked to create an instance of |
292 | | /// the callback. This may not be nullptr. |
293 | | /// |
294 | | /// \param[in] debugger_init_callback |
295 | | /// An optional callback that will be made when a Debugger |
296 | | /// instance is initialized. |
297 | | /// |
298 | | /// \param[in] filter_callback |
299 | | /// An optional callback that will be invoked before LLDB |
300 | | /// launches a process for debugging. The callback must |
301 | | /// do the following: |
302 | | /// 1. Only do something if the plugin's behavior is enabled. |
303 | | /// 2. Only make changes for processes that are relevant to the |
304 | | /// plugin. The callback gets a pointer to the Target, which |
305 | | /// can be inspected as needed. The ProcessLaunchInfo is |
306 | | /// provided in read-write mode, and may be modified by the |
307 | | /// plugin if, for instance, additional environment variables |
308 | | /// are needed to support the feature when enabled. |
309 | | /// |
310 | | /// \return |
311 | | /// Returns true upon success; otherwise, false. |
312 | | static bool |
313 | | RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
314 | | StructuredDataPluginCreateInstance create_callback, |
315 | | DebuggerInitializeCallback debugger_init_callback = nullptr, |
316 | | StructuredDataFilterLaunchInfo filter_callback = nullptr); |
317 | | |
318 | | static bool |
319 | | UnregisterPlugin(StructuredDataPluginCreateInstance create_callback); |
320 | | |
321 | | static StructuredDataPluginCreateInstance |
322 | | GetStructuredDataPluginCreateCallbackAtIndex(uint32_t idx); |
323 | | |
324 | | static StructuredDataFilterLaunchInfo |
325 | | GetStructuredDataFilterCallbackAtIndex(uint32_t idx, |
326 | | bool &iteration_complete); |
327 | | |
328 | | // SymbolFile |
329 | | static bool |
330 | | RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
331 | | SymbolFileCreateInstance create_callback, |
332 | | DebuggerInitializeCallback debugger_init_callback = nullptr); |
333 | | |
334 | | static bool UnregisterPlugin(SymbolFileCreateInstance create_callback); |
335 | | |
336 | | static SymbolFileCreateInstance |
337 | | GetSymbolFileCreateCallbackAtIndex(uint32_t idx); |
338 | | |
339 | | // SymbolVendor |
340 | | static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
341 | | SymbolVendorCreateInstance create_callback); |
342 | | |
343 | | static bool UnregisterPlugin(SymbolVendorCreateInstance create_callback); |
344 | | |
345 | | static SymbolVendorCreateInstance |
346 | | GetSymbolVendorCreateCallbackAtIndex(uint32_t idx); |
347 | | |
348 | | // Trace |
349 | | static bool RegisterPlugin( |
350 | | llvm::StringRef name, llvm::StringRef description, |
351 | | TraceCreateInstanceFromBundle create_callback_from_bundle, |
352 | | TraceCreateInstanceForLiveProcess create_callback_for_live_process, |
353 | | llvm::StringRef schema, |
354 | | DebuggerInitializeCallback debugger_init_callback); |
355 | | |
356 | | static bool |
357 | | UnregisterPlugin(TraceCreateInstanceFromBundle create_callback); |
358 | | |
359 | | static TraceCreateInstanceFromBundle |
360 | | GetTraceCreateCallback(llvm::StringRef plugin_name); |
361 | | |
362 | | static TraceCreateInstanceForLiveProcess |
363 | | GetTraceCreateCallbackForLiveProcess(llvm::StringRef plugin_name); |
364 | | |
365 | | /// Get the JSON schema for a trace bundle description file corresponding to |
366 | | /// the given plugin. |
367 | | /// |
368 | | /// \param[in] plugin_name |
369 | | /// The name of the plugin. |
370 | | /// |
371 | | /// \return |
372 | | /// An empty \a StringRef if no plugin was found with that plugin name, |
373 | | /// otherwise the actual schema is returned. |
374 | | static llvm::StringRef GetTraceSchema(llvm::StringRef plugin_name); |
375 | | |
376 | | /// Get the JSON schema for a trace bundle description file corresponding to |
377 | | /// the plugin given by its index. |
378 | | /// |
379 | | /// \param[in] index |
380 | | /// The index of the plugin to get the schema of. |
381 | | /// |
382 | | /// \return |
383 | | /// An empty \a StringRef if the index is greater than or equal to the |
384 | | /// number plugins, otherwise the actual schema is returned. |
385 | | static llvm::StringRef GetTraceSchema(size_t index); |
386 | | |
387 | | // TraceExporter |
388 | | |
389 | | /// \param[in] create_thread_trace_export_command |
390 | | /// This callback is used to create a CommandObject that will be listed |
391 | | /// under "thread trace export". Can be \b null. |
392 | | static bool RegisterPlugin( |
393 | | llvm::StringRef name, llvm::StringRef description, |
394 | | TraceExporterCreateInstance create_callback, |
395 | | ThreadTraceExportCommandCreator create_thread_trace_export_command); |
396 | | |
397 | | static TraceExporterCreateInstance |
398 | | GetTraceExporterCreateCallback(llvm::StringRef plugin_name); |
399 | | |
400 | | static bool UnregisterPlugin(TraceExporterCreateInstance create_callback); |
401 | | |
402 | | static llvm::StringRef GetTraceExporterPluginNameAtIndex(uint32_t index); |
403 | | |
404 | | /// Return the callback used to create the CommandObject that will be listed |
405 | | /// under "thread trace export". Can be \b null. |
406 | | static ThreadTraceExportCommandCreator |
407 | | GetThreadTraceExportCommandCreatorAtIndex(uint32_t index); |
408 | | |
409 | | // UnwindAssembly |
410 | | static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
411 | | UnwindAssemblyCreateInstance create_callback); |
412 | | |
413 | | static bool UnregisterPlugin(UnwindAssemblyCreateInstance create_callback); |
414 | | |
415 | | static UnwindAssemblyCreateInstance |
416 | | GetUnwindAssemblyCreateCallbackAtIndex(uint32_t idx); |
417 | | |
418 | | // MemoryHistory |
419 | | static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
420 | | MemoryHistoryCreateInstance create_callback); |
421 | | |
422 | | static bool UnregisterPlugin(MemoryHistoryCreateInstance create_callback); |
423 | | |
424 | | static MemoryHistoryCreateInstance |
425 | | GetMemoryHistoryCreateCallbackAtIndex(uint32_t idx); |
426 | | |
427 | | // InstrumentationRuntime |
428 | | static bool |
429 | | RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
430 | | InstrumentationRuntimeCreateInstance create_callback, |
431 | | InstrumentationRuntimeGetType get_type_callback); |
432 | | |
433 | | static bool |
434 | | UnregisterPlugin(InstrumentationRuntimeCreateInstance create_callback); |
435 | | |
436 | | static InstrumentationRuntimeGetType |
437 | | GetInstrumentationRuntimeGetTypeCallbackAtIndex(uint32_t idx); |
438 | | |
439 | | static InstrumentationRuntimeCreateInstance |
440 | | GetInstrumentationRuntimeCreateCallbackAtIndex(uint32_t idx); |
441 | | |
442 | | // TypeSystem |
443 | | static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
444 | | TypeSystemCreateInstance create_callback, |
445 | | LanguageSet supported_languages_for_types, |
446 | | LanguageSet supported_languages_for_expressions); |
447 | | |
448 | | static bool UnregisterPlugin(TypeSystemCreateInstance create_callback); |
449 | | |
450 | | static TypeSystemCreateInstance |
451 | | GetTypeSystemCreateCallbackAtIndex(uint32_t idx); |
452 | | |
453 | | static LanguageSet GetAllTypeSystemSupportedLanguagesForTypes(); |
454 | | |
455 | | static LanguageSet GetAllTypeSystemSupportedLanguagesForExpressions(); |
456 | | |
457 | | // REPL |
458 | | static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, |
459 | | REPLCreateInstance create_callback, |
460 | | LanguageSet supported_languages); |
461 | | |
462 | | static bool UnregisterPlugin(REPLCreateInstance create_callback); |
463 | | |
464 | | static REPLCreateInstance GetREPLCreateCallbackAtIndex(uint32_t idx); |
465 | | |
466 | | static LanguageSet GetREPLSupportedLanguagesAtIndex(uint32_t idx); |
467 | | |
468 | | static LanguageSet GetREPLAllTypeSystemSupportedLanguages(); |
469 | | |
470 | | // Some plug-ins might register a DebuggerInitializeCallback callback when |
471 | | // registering the plug-in. After a new Debugger instance is created, this |
472 | | // DebuggerInitialize function will get called. This allows plug-ins to |
473 | | // install Properties and do any other initialization that requires a |
474 | | // debugger instance. |
475 | | static void DebuggerInitialize(Debugger &debugger); |
476 | | |
477 | | static lldb::OptionValuePropertiesSP |
478 | | GetSettingForDynamicLoaderPlugin(Debugger &debugger, |
479 | | llvm::StringRef setting_name); |
480 | | |
481 | | static bool CreateSettingForDynamicLoaderPlugin( |
482 | | Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, |
483 | | llvm::StringRef description, bool is_global_property); |
484 | | |
485 | | static lldb::OptionValuePropertiesSP |
486 | | GetSettingForPlatformPlugin(Debugger &debugger, llvm::StringRef setting_name); |
487 | | |
488 | | static bool CreateSettingForPlatformPlugin( |
489 | | Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, |
490 | | llvm::StringRef description, bool is_global_property); |
491 | | |
492 | | static lldb::OptionValuePropertiesSP |
493 | | GetSettingForProcessPlugin(Debugger &debugger, llvm::StringRef setting_name); |
494 | | |
495 | | static bool CreateSettingForProcessPlugin( |
496 | | Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, |
497 | | llvm::StringRef description, bool is_global_property); |
498 | | |
499 | | static bool CreateSettingForTracePlugin( |
500 | | Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, |
501 | | llvm::StringRef description, bool is_global_property); |
502 | | |
503 | | static lldb::OptionValuePropertiesSP |
504 | | GetSettingForObjectFilePlugin(Debugger &debugger, |
505 | | llvm::StringRef setting_name); |
506 | | |
507 | | static bool CreateSettingForObjectFilePlugin( |
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, |
513 | | llvm::StringRef setting_name); |
514 | | |
515 | | static bool CreateSettingForSymbolFilePlugin( |
516 | | Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, |
517 | | llvm::StringRef description, bool is_global_property); |
518 | | |
519 | | static lldb::OptionValuePropertiesSP |
520 | | GetSettingForJITLoaderPlugin(Debugger &debugger, |
521 | | llvm::StringRef setting_name); |
522 | | |
523 | | static bool CreateSettingForJITLoaderPlugin( |
524 | | Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, |
525 | | llvm::StringRef description, bool is_global_property); |
526 | | |
527 | | static lldb::OptionValuePropertiesSP |
528 | | GetSettingForOperatingSystemPlugin(Debugger &debugger, |
529 | | llvm::StringRef setting_name); |
530 | | |
531 | | static bool CreateSettingForOperatingSystemPlugin( |
532 | | Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, |
533 | | llvm::StringRef description, bool is_global_property); |
534 | | |
535 | | static lldb::OptionValuePropertiesSP |
536 | | GetSettingForStructuredDataPlugin(Debugger &debugger, |
537 | | llvm::StringRef setting_name); |
538 | | |
539 | | static bool CreateSettingForStructuredDataPlugin( |
540 | | Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp, |
541 | | llvm::StringRef description, bool is_global_property); |
542 | | }; |
543 | | |
544 | | } // namespace lldb_private |
545 | | |
546 | | #endif // LLDB_CORE_PLUGINMANAGER_H |