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/Symbol/SaveCoreOptions.h"
#include "lldb/Target/Process.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 | SymbolLocatorInstance |
struct | TraceInstance |
struct | TraceExporterInstance |
struct | InstrumentationRuntimeInstance |
struct | TypeSystemInstance |
struct | ScriptedInterfaceInstance |
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 1420 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 1379 of file PluginManager.cpp.
Definition at line 1380 of file PluginManager.cpp.
Definition at line 766 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 812 of file PluginManager.cpp.
Definition at line 813 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 861 of file PluginManager.cpp.
Definition at line 862 of file PluginManager.cpp.
Definition at line 918 of file PluginManager.cpp.
typedef PluginInstances<REPLInstance> REPLInstances |
Definition at line 1587 of file PluginManager.cpp.
Definition at line 1528 of file PluginManager.cpp.
Definition at line 960 of file PluginManager.cpp.
Definition at line 1020 of file PluginManager.cpp.
typedef PluginInstance<SymbolFileCreateInstance> SymbolFileInstance |
Definition at line 1062 of file PluginManager.cpp.
Definition at line 1063 of file PluginManager.cpp.
Definition at line 1138 of file PluginManager.cpp.
typedef PluginInstance<SymbolVendorCreateInstance> SymbolVendorInstance |
Definition at line 1089 of file PluginManager.cpp.
Definition at line 1090 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 1312 of file PluginManager.cpp.
typedef PluginInstances<TraceInstance> TraceInstances |
Definition at line 1246 of file PluginManager.cpp.
Definition at line 1470 of file PluginManager.cpp.
typedef PluginInstance<UnwindAssemblyCreateInstance> UnwindAssemblyInstance |
Definition at line 1352 of file PluginManager.cpp.
Definition at line 1353 of file PluginManager.cpp.
|
static |
Definition at line 75 of file PluginManager.cpp.
|
static |
Definition at line 1735 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(), lldb_private::PluginManager::CreateSettingForSymbolLocatorPlugin(), 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 1643 of file PluginManager.cpp.
References lldb_private::Properties::GetValueProperties().
Referenced by lldb_private::PluginManager::CreateSettingForOperatingSystemPlugin(), and lldb_private::PluginManager::GetSettingForOperatingSystemPlugin().
|
static |
Definition at line 1679 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 1422 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 1382 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetMemoryHistoryCreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 768 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::IsRegisteredObjectFilePluginName(), 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 815 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 864 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 920 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetRegisterTypeBuilder(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1589 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 1530 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::DebuggerInitialize(), lldb_private::PluginManager::GetNumScriptedInterfaces(), lldb_private::PluginManager::GetScriptedInterfaceDescriptionAtIndex(), lldb_private::PluginManager::GetScriptedInterfaceLanguageAtIndex(), lldb_private::PluginManager::GetScriptedInterfaceNameAtIndex(), lldb_private::PluginManager::GetScriptedInterfaceUsagesAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 962 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 1719 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(), lldb_private::PluginManager::GetSettingForSymbolFilePlugin(), and lldb_private::PluginManager::GetSettingForSymbolLocatorPlugin().
|
static |
Definition at line 1022 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 1140 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::DebuggerInitialize(), lldb_private::PluginManager::DownloadObjectAndSymbolFile(), lldb_private::PluginManager::FindSymbolFileInBundle(), lldb_private::PluginManager::GetSymbolLocatorCreateCallbackAtIndex(), lldb_private::PluginManager::LocateExecutableObjectFile(), lldb_private::PluginManager::LocateExecutableSymbolFile(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1092 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 1314 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 1248 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 1472 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 1355 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetUnwindAssemblyCreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
static |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
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().