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 278 of file PluginManager.cpp.
typedef PluginInstances<ABIInstance> ABIInstances |
Definition at line 279 of file PluginManager.cpp.
typedef PluginInstance<ArchitectureCreateInstance> ArchitectureInstance |
Definition at line 302 of file PluginManager.cpp.
typedef std::vector<ArchitectureInstance> ArchitectureInstances |
Definition at line 303 of file PluginManager.cpp.
typedef PluginInstance<DisassemblerCreateInstance> DisassemblerInstance |
Definition at line 340 of file PluginManager.cpp.
Definition at line 341 of file PluginManager.cpp.
typedef PluginInstance<DynamicLoaderCreateInstance> DynamicLoaderInstance |
Definition at line 373 of file PluginManager.cpp.
Definition at line 374 of file PluginManager.cpp.
typedef PluginInstance<EmulateInstructionCreateInstance> EmulateInstructionInstance |
Definition at line 435 of file PluginManager.cpp.
Definition at line 436 of file PluginManager.cpp.
Definition at line 1419 of file PluginManager.cpp.
typedef PluginInstance<JITLoaderCreateInstance> JITLoaderInstance |
Definition at line 407 of file PluginManager.cpp.
Definition at line 408 of file PluginManager.cpp.
typedef PluginInstance<LanguageCreateInstance> LanguageInstance |
Definition at line 502 of file PluginManager.cpp.
Definition at line 503 of file PluginManager.cpp.
Definition at line 545 of file PluginManager.cpp.
typedef PluginInstance<MemoryHistoryCreateInstance> MemoryHistoryInstance |
Definition at line 1378 of file PluginManager.cpp.
Definition at line 1379 of file PluginManager.cpp.
Definition at line 765 of file PluginManager.cpp.
Definition at line 635 of file PluginManager.cpp.
typedef PluginInstance<OperatingSystemCreateInstance> OperatingSystemInstance |
Definition at line 468 of file PluginManager.cpp.
Definition at line 469 of file PluginManager.cpp.
typedef PluginInstance<PlatformCreateInstance> PlatformInstance |
Definition at line 811 of file PluginManager.cpp.
Definition at line 812 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 860 of file PluginManager.cpp.
Definition at line 861 of file PluginManager.cpp.
Definition at line 917 of file PluginManager.cpp.
typedef PluginInstances<REPLInstance> REPLInstances |
Definition at line 1586 of file PluginManager.cpp.
Definition at line 1527 of file PluginManager.cpp.
Definition at line 959 of file PluginManager.cpp.
Definition at line 1019 of file PluginManager.cpp.
typedef PluginInstance<SymbolFileCreateInstance> SymbolFileInstance |
Definition at line 1061 of file PluginManager.cpp.
Definition at line 1062 of file PluginManager.cpp.
Definition at line 1137 of file PluginManager.cpp.
typedef PluginInstance<SymbolVendorCreateInstance> SymbolVendorInstance |
Definition at line 1088 of file PluginManager.cpp.
Definition at line 1089 of file PluginManager.cpp.
typedef PluginInstance<SystemRuntimeCreateInstance> SystemRuntimeInstance |
Definition at line 590 of file PluginManager.cpp.
Definition at line 591 of file PluginManager.cpp.
Definition at line 1311 of file PluginManager.cpp.
typedef PluginInstances<TraceInstance> TraceInstances |
Definition at line 1245 of file PluginManager.cpp.
Definition at line 1469 of file PluginManager.cpp.
typedef PluginInstance<UnwindAssemblyCreateInstance> UnwindAssemblyInstance |
Definition at line 1351 of file PluginManager.cpp.
Definition at line 1352 of file PluginManager.cpp.
|
static |
Definition at line 75 of file PluginManager.cpp.
|
static |
Definition at line 1734 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 281 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetABICreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 305 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::CreateArchitectureInstance(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1642 of file PluginManager.cpp.
References lldb_private::Properties::GetValueProperties().
Referenced by lldb_private::PluginManager::CreateSettingForOperatingSystemPlugin(), and lldb_private::PluginManager::GetSettingForOperatingSystemPlugin().
|
static |
Definition at line 1678 of file PluginManager.cpp.
References lldb_private::Properties::GetValueProperties().
Referenced by lldb_private::PluginManager::CreateSettingForPlatformPlugin(), and lldb_private::PluginManager::GetSettingForPlatformPlugin().
|
static |
Definition at line 343 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 376 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 438 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 1421 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 505 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetLanguageCreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 547 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 1381 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetMemoryHistoryCreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 767 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 637 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 471 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 814 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 863 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 919 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetRegisterTypeBuilder(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1588 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 1529 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 961 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 1718 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 1021 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 1139 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 1091 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetSymbolVendorCreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 593 of file PluginManager.cpp.
Referenced by lldb_private::PluginManager::GetSystemRuntimeCreateCallbackAtIndex(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::PluginManager::UnregisterPlugin().
|
static |
Definition at line 1313 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 1247 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 1471 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 1354 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().