LLDB mainline
|
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Host/FileSystem.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Interpreter/OptionValueProperties.h"
#include "lldb/Target/Process.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/Status.h"
#include "lldb/Utility/StringList.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/DynamicLibrary.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <map>
#include <memory>
#include <mutex>
#include <string>
#include <utility>
#include <vector>
Go to the source code of this file.
Classes | |
struct | PluginInfo |
struct | PluginInstance< Callback > |
class | PluginInstances< Instance > |
struct | LanguageRuntimeInstance |
struct | ObjectFileInstance |
struct | ObjectContainerInstance |
struct | RegisterTypeBuilderInstance |
struct | ScriptInterpreterInstance |
struct | StructuredDataPluginInstance |
struct | TraceInstance |
struct | TraceExporterInstance |
struct | InstrumentationRuntimeInstance |
struct | TypeSystemInstance |
struct | REPLInstance |
typedef PluginInstance<ABICreateInstance> ABIInstance |
Definition at line 279 of file PluginManager.cpp.
typedef PluginInstances<ABIInstance> ABIInstances |
Definition at line 280 of file PluginManager.cpp.
typedef PluginInstance<ArchitectureCreateInstance> ArchitectureInstance |
Definition at line 303 of file PluginManager.cpp.
typedef std::vector<ArchitectureInstance> ArchitectureInstances |
Definition at line 304 of file PluginManager.cpp.
typedef PluginInstance<DisassemblerCreateInstance> DisassemblerInstance |
Definition at line 341 of file PluginManager.cpp.
Definition at line 342 of file PluginManager.cpp.
typedef PluginInstance<DynamicLoaderCreateInstance> DynamicLoaderInstance |
Definition at line 374 of file PluginManager.cpp.
Definition at line 375 of file PluginManager.cpp.
typedef PluginInstance<EmulateInstructionCreateInstance> EmulateInstructionInstance |
Definition at line 436 of file PluginManager.cpp.
Definition at line 437 of file PluginManager.cpp.
Definition at line 1278 of file PluginManager.cpp.
typedef PluginInstance<JITLoaderCreateInstance> JITLoaderInstance |
Definition at line 408 of file PluginManager.cpp.
Definition at line 409 of file PluginManager.cpp.
typedef PluginInstance<LanguageCreateInstance> LanguageInstance |
Definition at line 503 of file PluginManager.cpp.
Definition at line 504 of file PluginManager.cpp.
Definition at line 546 of file PluginManager.cpp.
typedef PluginInstance<MemoryHistoryCreateInstance> MemoryHistoryInstance |
Definition at line 1237 of file PluginManager.cpp.
Definition at line 1238 of file PluginManager.cpp.
Definition at line 737 of file PluginManager.cpp.
Definition at line 636 of file PluginManager.cpp.
typedef PluginInstance<OperatingSystemCreateInstance> OperatingSystemInstance |
Definition at line 469 of file PluginManager.cpp.
Definition at line 470 of file PluginManager.cpp.
typedef PluginInstance<PlatformCreateInstance> PlatformInstance |
Definition at line 783 of file PluginManager.cpp.
Definition at line 784 of file PluginManager.cpp.
typedef bool(* PluginInitCallback) () |
Definition at line 38 of file PluginManager.cpp.
typedef void(* PluginTermCallback) () |
Definition at line 39 of file PluginManager.cpp.
typedef std::map<FileSpec, PluginInfo> PluginTerminateMap |
Definition at line 49 of file PluginManager.cpp.
typedef PluginInstance<ProcessCreateInstance> ProcessInstance |
Definition at line 832 of file PluginManager.cpp.
Definition at line 833 of file PluginManager.cpp.
Definition at line 889 of file PluginManager.cpp.
typedef PluginInstances<REPLInstance> REPLInstances |
Definition at line 1381 of file PluginManager.cpp.
Definition at line 931 of file PluginManager.cpp.
Definition at line 991 of file PluginManager.cpp.
typedef PluginInstance<SymbolFileCreateInstance> SymbolFileInstance |
Definition at line 1033 of file PluginManager.cpp.
Definition at line 1034 of file PluginManager.cpp.
typedef PluginInstance<SymbolVendorCreateInstance> SymbolVendorInstance |
Definition at line 1060 of file PluginManager.cpp.
Definition at line 1061 of file PluginManager.cpp.
typedef PluginInstance<SystemRuntimeCreateInstance> SystemRuntimeInstance |
Definition at line 591 of file PluginManager.cpp.
Definition at line 592 of file PluginManager.cpp.
Definition at line 1170 of file PluginManager.cpp.
typedef PluginInstances<TraceInstance> TraceInstances |
Definition at line 1104 of file PluginManager.cpp.
Definition at line 1328 of file PluginManager.cpp.
typedef PluginInstance<UnwindAssemblyCreateInstance> UnwindAssemblyInstance |
Definition at line 1210 of file PluginManager.cpp.
Definition at line 1211 of file PluginManager.cpp.
|
static |
Definition at line 75 of file PluginManager.cpp.
|
static |
Definition at line 1527 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::CreateSettingForDynamicLoaderPlugin(), lldb_private::PluginManager::CreateSettingForJITLoaderPlugin(), lldb_private::PluginManager::CreateSettingForObjectFilePlugin(), lldb_private::PluginManager::CreateSettingForPlatformPlugin(), lldb_private::PluginManager::CreateSettingForProcessPlugin(), lldb_private::PluginManager::CreateSettingForStructuredDataPlugin(), lldb_private::PluginManager::CreateSettingForSymbolFilePlugin(), and lldb_private::PluginManager::CreateSettingForTracePlugin().
|
static |
Definition at line 282 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetABICreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 306 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::CreateArchitectureInstance(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1435 of file PluginManager.cpp.
References lldb_private::Properties::GetValueProperties().
Referenced by lldb_private::PluginManager::CreateSettingForOperatingSystemPlugin(), and lldb_private::PluginManager::GetSettingForOperatingSystemPlugin().
|
static |
Definition at line 1471 of file PluginManager.cpp.
References lldb_private::Properties::GetValueProperties().
Referenced by lldb_private::PluginManager::CreateSettingForPlatformPlugin(), and lldb_private::PluginManager::GetSettingForPlatformPlugin().
|
static |
Definition at line 344 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetDisassemblerCreateCallbackAtIndex(), lldb_private::PluginManager::GetDisassemblerCreateCallbackForPluginName(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 377 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::DebuggerInitialize(), lldb_private::PluginManager::GetDynamicLoaderCreateCallbackAtIndex(), lldb_private::PluginManager::GetDynamicLoaderCreateCallbackForPluginName(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 439 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetEmulateInstructionCreateCallbackAtIndex(), lldb_private::PluginManager::GetEmulateInstructionCreateCallbackForPluginName(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1280 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetInstrumentationRuntimeCreateCallbackAtIndex(), lldb_private::PluginManager::GetInstrumentationRuntimeGetTypeCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
|
static |
Definition at line 506 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetLanguageCreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 548 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetLanguageRuntimeCreateCallbackAtIndex(), lldb_private::PluginManager::GetLanguageRuntimeGetCommandObjectAtIndex(), lldb_private::PluginManager::GetLanguageRuntimeGetExceptionPreconditionAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1240 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetMemoryHistoryCreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 739 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetObjectContainerCreateCallbackAtIndex(), lldb_private::PluginManager::GetObjectContainerCreateMemoryCallbackAtIndex(), lldb_private::PluginManager::GetObjectContainerGetModuleSpecificationsCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 638 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::DebuggerInitialize(), lldb_private::PluginManager::GetObjectFileCreateCallbackAtIndex(), lldb_private::PluginManager::GetObjectFileCreateMemoryCallbackAtIndex(), lldb_private::PluginManager::GetObjectFileCreateMemoryCallbackForPluginName(), lldb_private::PluginManager::GetObjectFileGetModuleSpecificationsCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), lldb_private::PluginManager::SaveCore(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 472 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::DebuggerInitialize(), lldb_private::PluginManager::GetOperatingSystemCreateCallbackAtIndex(), lldb_private::PluginManager::GetOperatingSystemCreateCallbackForPluginName(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 786 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::AutoCompletePlatformName(), lldb_private::PluginManager::DebuggerInitialize(), lldb_private::PluginManager::GetPlatformCreateCallbackAtIndex(), lldb_private::PluginManager::GetPlatformCreateCallbackForPluginName(), lldb_private::PluginManager::GetPlatformPluginDescriptionAtIndex(), lldb_private::PluginManager::GetPlatformPluginNameAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 56 of file PluginManager.cpp.
Referenced by PluginIsLoaded(), SetPluginInfo(), and lldb_private::PluginManager::Terminate().
|
static |
Definition at line 51 of file PluginManager.cpp.
Referenced by PluginIsLoaded(), SetPluginInfo(), and lldb_private::PluginManager::Terminate().
|
static |
Definition at line 835 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::AutoCompleteProcessName(), lldb_private::PluginManager::DebuggerInitialize(), lldb_private::PluginManager::GetProcessCreateCallbackAtIndex(), lldb_private::PluginManager::GetProcessCreateCallbackForPluginName(), lldb_private::PluginManager::GetProcessPluginDescriptionAtIndex(), lldb_private::PluginManager::GetProcessPluginNameAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 891 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetRegisterTypeBuilder(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1383 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetREPLAllTypeSystemSupportedLanguages(), lldb_private::PluginManager::GetREPLCreateCallbackAtIndex(), lldb_private::PluginManager::GetREPLSupportedLanguagesAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 933 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetScriptInterpreterCreateCallbackAtIndex(), lldb_private::PluginManager::GetScriptInterpreterForLanguage(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1511 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetSettingForDynamicLoaderPlugin(), lldb_private::PluginManager::GetSettingForJITLoaderPlugin(), lldb_private::PluginManager::GetSettingForObjectFilePlugin(), lldb_private::PluginManager::GetSettingForPlatformPlugin(), lldb_private::PluginManager::GetSettingForProcessPlugin(), lldb_private::PluginManager::GetSettingForStructuredDataPlugin(), and lldb_private::PluginManager::GetSettingForSymbolFilePlugin().
|
static |
Definition at line 993 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::DebuggerInitialize(), lldb_private::PluginManager::GetStructuredDataFilterCallbackAtIndex(), lldb_private::PluginManager::GetStructuredDataPluginCreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
|
static |
Definition at line 1063 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetSymbolVendorCreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 594 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetSystemRuntimeCreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1172 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetThreadTraceExportCommandCreatorAtIndex(), lldb_private::PluginManager::GetTraceExporterCreateCallback(), lldb_private::PluginManager::GetTraceExporterPluginNameAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1106 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::DebuggerInitialize(), lldb_private::PluginManager::GetTraceCreateCallback(), lldb_private::PluginManager::GetTraceCreateCallbackForLiveProcess(), lldb_private::PluginManager::GetTraceSchema(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1330 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetAllTypeSystemSupportedLanguagesForExpressions(), lldb_private::PluginManager::GetAllTypeSystemSupportedLanguagesForTypes(), lldb_private::PluginManager::GetTypeSystemCreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1213 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetUnwindAssemblyCreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Referenced by lldb_private::PluginManager::CreateSettingForTracePlugin().
|
static |
Definition at line 80 of file PluginManager.cpp.
References lldb_private::FileSystem::eEnumerateDirectoryResultEnter, lldb_private::FileSystem::eEnumerateDirectoryResultNext, error(), lldb_private::FileSpec::GetPath(), lldb_private::FileSystem::Instance(), PluginInfo::library, PluginInfo::plugin_init_callback, PluginInfo::plugin_term_callback, PluginIsLoaded(), lldb_private::FileSystem::Resolve(), and SetPluginInfo().
|
static |
Definition at line 61 of file PluginManager.cpp.
References GetPluginMap(), and GetPluginMapMutex().
Referenced by LoadPluginCallback().
|
static |
Definition at line 67 of file PluginManager.cpp.
References GetPluginMap(), and GetPluginMapMutex().
Referenced by LoadPluginCallback().