LLDB mainline
|
Abstract Darwin platform with a potential device support directory. More...
#include <PlatformDarwinDevice.h>
Classes | |
struct | SDKDirectoryInfo |
Public Member Functions | |
~PlatformDarwinDevice () override | |
Public Member Functions inherited from lldb_private::PlatformDarwin | |
~PlatformDarwin () override | |
Destructor. | |
Status | PutFile (const FileSpec &source, const FileSpec &destination, uint32_t uid=UINT32_MAX, uint32_t gid=UINT32_MAX) override |
Status | ResolveSymbolFile (Target &target, const ModuleSpec &sym_spec, FileSpec &sym_file) override |
Find a symbol file given a symbol file module specification. | |
FileSpecList | LocateExecutableScriptingResources (Target *target, Module &module, Stream &feedback_stream) override |
Status | GetSharedModule (const ModuleSpec &module_spec, Process *process, lldb::ModuleSP &module_sp, const FileSpecList *module_search_paths_ptr, llvm::SmallVectorImpl< lldb::ModuleSP > *old_modules, bool *did_create_ptr) override |
size_t | GetSoftwareBreakpointTrapOpcode (Target &target, BreakpointSite *bp_site) override |
lldb::BreakpointSP | SetThreadCreationBreakpoint (Target &target) override |
bool | ModuleIsExcludedForUnconstrainedSearches (Target &target, const lldb::ModuleSP &module_sp) override |
void | ARMGetSupportedArchitectures (std::vector< ArchSpec > &archs, std::optional< llvm::Triple::OSType > os={}) |
The architecture selection rules for arm processors These cpu subtypes have distinct names (e.g. | |
void | x86GetSupportedArchitectures (std::vector< ArchSpec > &archs) |
uint32_t | GetResumeCountForLaunchInfo (ProcessLaunchInfo &launch_info) override |
lldb::ProcessSP | DebugProcess (ProcessLaunchInfo &launch_info, Debugger &debugger, Target &target, Status &error) override |
Subclasses do not need to implement this function as it uses the Platform::LaunchProcess() followed by Platform::Attach (). | |
void | CalculateTrapHandlerSymbolNames () override |
Ask the Platform subclass to fill in the list of trap handler names. | |
llvm::VersionTuple | GetOSVersion (Process *process=nullptr) override |
Get the OS version from a connected platform. | |
bool | SupportsModules () override |
ConstString | GetFullNameForDylib (ConstString basename) override |
FileSpec | LocateExecutable (const char *basename) override |
Find a support executable that may not live within in the standard locations related to LLDB. | |
Status | LaunchProcess (ProcessLaunchInfo &launch_info) override |
Launch a new process on a platform, not necessarily for debugging, it could be just for running the process. | |
Args | GetExtraStartupCommands () override |
llvm::Expected< StructuredData::DictionarySP > | FetchExtendedCrashInformation (Process &process) override |
Gather all of crash informations into a structured data dictionary. | |
llvm::Expected< std::pair< XcodeSDK, bool > > | GetSDKPathFromDebugInfo (Module &module) override |
Search each CU associated with the specified 'module' for the SDK paths the CUs were compiled against. | |
llvm::Expected< std::string > | ResolveSDKPathFromDebugInfo (Module &module) override |
Returns the full path of the most appropriate SDK for the specified 'module'. | |
llvm::Expected< XcodeSDK > | GetSDKPathFromDebugInfo (CompileUnit &unit) override |
Search CU for the SDK path the CUs was compiled against. | |
llvm::Expected< std::string > | ResolveSDKPathFromDebugInfo (CompileUnit &unit) override |
Returns the full path of the most appropriate SDK for the specified compile unit. | |
PlatformPOSIX (bool is_host) | |
Default Constructor. | |
Public Member Functions inherited from PlatformPOSIX | |
PlatformPOSIX (bool is_host) | |
Default Constructor. | |
~PlatformPOSIX () override | |
Destructor. | |
lldb_private::OptionGroupOptions * | GetConnectionOptions (lldb_private::CommandInterpreter &interpreter) override |
lldb_private::Status | PutFile (const lldb_private::FileSpec &source, const lldb_private::FileSpec &destination, uint32_t uid=UINT32_MAX, uint32_t gid=UINT32_MAX) override |
lldb_private::Status | GetFile (const lldb_private::FileSpec &source, const lldb_private::FileSpec &destination) override |
const lldb::UnixSignalsSP & | GetRemoteUnixSignals () override |
lldb::ProcessSP | Attach (lldb_private::ProcessAttachInfo &attach_info, lldb_private::Debugger &debugger, lldb_private::Target *target, lldb_private::Status &error) override |
Attach to an existing process using a process ID. | |
lldb::ProcessSP | DebugProcess (lldb_private::ProcessLaunchInfo &launch_info, lldb_private::Debugger &debugger, lldb_private::Target &target, lldb_private::Status &error) override |
Subclasses do not need to implement this function as it uses the Platform::LaunchProcess() followed by Platform::Attach (). | |
std::string | GetPlatformSpecificConnectionInformation () override |
void | CalculateTrapHandlerSymbolNames () override |
Ask the Platform subclass to fill in the list of trap handler names. | |
lldb_private::Status | ConnectRemote (lldb_private::Args &args) override |
lldb_private::Status | DisconnectRemote () override |
uint32_t | DoLoadImage (lldb_private::Process *process, const lldb_private::FileSpec &remote_file, const std::vector< std::string > *paths, lldb_private::Status &error, lldb_private::FileSpec *loaded_image) override |
lldb_private::Status | UnloadImage (lldb_private::Process *process, uint32_t image_token) override |
lldb_private::ConstString | GetFullNameForDylib (lldb_private::ConstString basename) override |
Public Member Functions inherited from lldb_private::RemoteAwarePlatform | |
virtual Status | ResolveExecutable (const ModuleSpec &module_spec, lldb::ModuleSP &exe_module_sp, const FileSpecList *module_search_paths_ptr) override |
Set the target's executable based off of the existing architecture information in target given a path to an executable exe_file. | |
bool | GetModuleSpec (const FileSpec &module_file_spec, const ArchSpec &arch, ModuleSpec &module_spec) override |
lldb::user_id_t | OpenFile (const FileSpec &file_spec, File::OpenOptions flags, uint32_t mode, Status &error) override |
bool | CloseFile (lldb::user_id_t fd, Status &error) override |
uint64_t | ReadFile (lldb::user_id_t fd, uint64_t offset, void *dst, uint64_t dst_len, Status &error) override |
uint64_t | WriteFile (lldb::user_id_t fd, uint64_t offset, const void *src, uint64_t src_len, Status &error) override |
lldb::user_id_t | GetFileSize (const FileSpec &file_spec) override |
Status | CreateSymlink (const FileSpec &src, const FileSpec &dst) override |
bool | GetFileExists (const FileSpec &file_spec) override |
Status | Unlink (const FileSpec &file_spec) override |
FileSpec | GetRemoteWorkingDirectory () override |
bool | SetRemoteWorkingDirectory (const FileSpec &working_dir) override |
Status | MakeDirectory (const FileSpec &file_spec, uint32_t mode) override |
Status | GetFilePermissions (const FileSpec &file_spec, uint32_t &file_permissions) override |
Status | SetFilePermissions (const FileSpec &file_spec, uint32_t file_permissions) override |
llvm::ErrorOr< llvm::MD5::MD5Result > | CalculateMD5 (const FileSpec &file_spec) override |
Status | GetFileWithUUID (const FileSpec &platform_file, const UUID *uuid, FileSpec &local_file) override |
Locate a file for a platform. | |
bool | GetRemoteOSVersion () override |
std::optional< std::string > | GetRemoteOSBuildString () override |
std::optional< std::string > | GetRemoteOSKernelDescription () override |
ArchSpec | GetRemoteSystemArchitecture () override |
Status | RunShellCommand (llvm::StringRef command, const FileSpec &working_dir, int *status_ptr, int *signo_ptr, std::string *command_output, const Timeout< std::micro > &timeout) override |
Status | RunShellCommand (llvm::StringRef interpreter, llvm::StringRef command, const FileSpec &working_dir, int *status_ptr, int *signo_ptr, std::string *command_output, const Timeout< std::micro > &timeout) override |
const char * | GetHostname () override |
UserIDResolver & | GetUserIDResolver () override |
lldb_private::Environment | GetEnvironment () override |
bool | IsConnected () const override |
bool | GetProcessInfo (lldb::pid_t pid, ProcessInstanceInfo &proc_info) override |
uint32_t | FindProcesses (const ProcessInstanceInfoMatch &match_info, ProcessInstanceInfoList &process_infos) override |
Attach to an existing process by process name. | |
lldb::ProcessSP | ConnectProcess (llvm::StringRef connect_url, llvm::StringRef plugin_name, Debugger &debugger, Target *target, Status &error) override |
Status | LaunchProcess (ProcessLaunchInfo &launch_info) override |
Launch a new process on a platform, not necessarily for debugging, it could be just for running the process. | |
Status | KillProcess (const lldb::pid_t pid) override |
Kill process on a platform. | |
size_t | ConnectToWaitingProcesses (Debugger &debugger, Status &error) override |
Connect to all processes waiting for a debugger to attach. | |
Platform (bool is_host_platform) | |
Default Constructor. | |
Public Member Functions inherited from lldb_private::Platform | |
Platform (bool is_host_platform) | |
Default Constructor. | |
~Platform () override | |
The destructor is virtual since this class is designed to be inherited from by the plug-in instance. | |
virtual Status | ResolveExecutable (const ModuleSpec &module_spec, lldb::ModuleSP &exe_module_sp, const FileSpecList *module_search_paths_ptr) |
Set the target's executable based off of the existing architecture information in target given a path to an executable exe_file. | |
virtual Status | ResolveSymbolFile (Target &target, const ModuleSpec &sym_spec, FileSpec &sym_file) |
Find a symbol file given a symbol file module specification. | |
virtual bool | ResolveRemotePath (const FileSpec &platform_path, FileSpec &resolved_platform_path) |
Resolves the FileSpec to a (possibly) remote path. | |
virtual llvm::VersionTuple | GetOSVersion (Process *process=nullptr) |
Get the OS version from a connected platform. | |
bool | SetOSVersion (llvm::VersionTuple os_version) |
std::optional< std::string > | GetOSBuildString () |
std::optional< std::string > | GetOSKernelDescription () |
llvm::StringRef | GetName () |
virtual const char * | GetHostname () |
virtual ConstString | GetFullNameForDylib (ConstString basename) |
virtual llvm::StringRef | GetDescription ()=0 |
virtual void | GetStatus (Stream &strm) |
Report the current status for this platform. | |
virtual bool | GetRemoteOSVersion () |
virtual std::optional< std::string > | GetRemoteOSBuildString () |
virtual std::optional< std::string > | GetRemoteOSKernelDescription () |
virtual ArchSpec | GetRemoteSystemArchitecture () |
virtual FileSpec | GetRemoteWorkingDirectory () |
virtual bool | SetRemoteWorkingDirectory (const FileSpec &working_dir) |
virtual UserIDResolver & | GetUserIDResolver () |
virtual Status | GetFileWithUUID (const FileSpec &platform_file, const UUID *uuid_ptr, FileSpec &local_file) |
Locate a file for a platform. | |
virtual FileSpecList | LocateExecutableScriptingResources (Target *target, Module &module, Stream &feedback_stream) |
virtual Status | GetSharedModule (const ModuleSpec &module_spec, Process *process, lldb::ModuleSP &module_sp, const FileSpecList *module_search_paths_ptr, llvm::SmallVectorImpl< lldb::ModuleSP > *old_modules, bool *did_create_ptr) |
void | CallLocateModuleCallbackIfSet (const ModuleSpec &module_spec, lldb::ModuleSP &module_sp, FileSpec &symbol_file_spec, bool *did_create_ptr) |
virtual bool | GetModuleSpec (const FileSpec &module_file_spec, const ArchSpec &arch, ModuleSpec &module_spec) |
virtual Status | ConnectRemote (Args &args) |
virtual Status | DisconnectRemote () |
virtual std::vector< ArchSpec > | GetSupportedArchitectures (const ArchSpec &process_host_arch)=0 |
Get the platform's supported architectures in the order in which they should be searched. | |
virtual size_t | GetSoftwareBreakpointTrapOpcode (Target &target, BreakpointSite *bp_site) |
virtual Status | LaunchProcess (ProcessLaunchInfo &launch_info) |
Launch a new process on a platform, not necessarily for debugging, it could be just for running the process. | |
virtual Status | ShellExpandArguments (ProcessLaunchInfo &launch_info) |
Perform expansion of the command-line for this launch info This can potentially involve wildcard expansion environment variable replacement, and whatever other argument magic the platform defines as part of its typical user experience. | |
virtual Status | KillProcess (const lldb::pid_t pid) |
Kill process on a platform. | |
virtual bool | IsCompatibleArchitecture (const ArchSpec &arch, const ArchSpec &process_host_arch, ArchSpec::MatchType match, ArchSpec *compatible_arch_ptr) |
Lets a platform answer if it is compatible with a given architecture and the target triple contained within. | |
virtual bool | CanDebugProcess () |
Not all platforms will support debugging a process by spawning somehow halted for a debugger (specified using the "eLaunchFlagDebug" launch flag) and then attaching. | |
virtual lldb::ProcessSP | DebugProcess (ProcessLaunchInfo &launch_info, Debugger &debugger, Target &target, Status &error) |
Subclasses do not need to implement this function as it uses the Platform::LaunchProcess() followed by Platform::Attach (). | |
virtual lldb::ProcessSP | ConnectProcess (llvm::StringRef connect_url, llvm::StringRef plugin_name, Debugger &debugger, Target *target, Status &error) |
virtual lldb::ProcessSP | ConnectProcessSynchronous (llvm::StringRef connect_url, llvm::StringRef plugin_name, Debugger &debugger, Stream &stream, Target *target, Status &error) |
virtual lldb::ProcessSP | Attach (ProcessAttachInfo &attach_info, Debugger &debugger, Target *target, Status &error)=0 |
Attach to an existing process using a process ID. | |
virtual uint32_t | FindProcesses (const ProcessInstanceInfoMatch &match_info, ProcessInstanceInfoList &proc_infos) |
Attach to an existing process by process name. | |
ProcessInstanceInfoList | GetAllProcesses () |
virtual bool | GetProcessInfo (lldb::pid_t pid, ProcessInstanceInfo &proc_info) |
virtual lldb::BreakpointSP | SetThreadCreationBreakpoint (Target &target) |
virtual lldb_private::ConstString | GetSDKDirectory (lldb_private::Target &target) |
virtual llvm::Expected< std::pair< XcodeSDK, bool > > | GetSDKPathFromDebugInfo (Module &module) |
Search each CU associated with the specified 'module' for the SDK paths the CUs were compiled against. | |
virtual llvm::Expected< std::string > | ResolveSDKPathFromDebugInfo (Module &module) |
Returns the full path of the most appropriate SDK for the specified 'module'. | |
virtual llvm::Expected< XcodeSDK > | GetSDKPathFromDebugInfo (CompileUnit &unit) |
Search CU for the SDK path the CUs was compiled against. | |
virtual llvm::Expected< std::string > | ResolveSDKPathFromDebugInfo (CompileUnit &unit) |
Returns the full path of the most appropriate SDK for the specified compile unit. | |
bool | IsHost () const |
bool | IsRemote () const |
virtual bool | IsConnected () const |
const ArchSpec & | GetSystemArchitecture () |
void | SetSystemArchitecture (const ArchSpec &arch) |
ArchSpec | GetAugmentedArchSpec (llvm::StringRef triple) |
If the triple contains not specify the vendor, os, and environment parts, we "augment" these using information from the platform and return the resulting ArchSpec object. | |
size_t | GetMaxUserIDNameLength () const |
size_t | GetMaxGroupIDNameLength () const |
const std::string & | GetSDKRootDirectory () const |
void | SetSDKRootDirectory (std::string dir) |
const std::string & | GetSDKBuild () const |
void | SetSDKBuild (std::string sdk_build) |
virtual bool | SupportsModules () |
virtual void | AddClangModuleCompilationOptions (Target *target, std::vector< std::string > &options) |
FileSpec | GetWorkingDirectory () |
bool | SetWorkingDirectory (const FileSpec &working_dir) |
virtual bool | ModuleIsExcludedForUnconstrainedSearches (Target &target, const lldb::ModuleSP &module_sp) |
virtual Status | MakeDirectory (const FileSpec &file_spec, uint32_t permissions) |
virtual Status | GetFilePermissions (const FileSpec &file_spec, uint32_t &file_permissions) |
virtual Status | SetFilePermissions (const FileSpec &file_spec, uint32_t file_permissions) |
virtual lldb::user_id_t | OpenFile (const FileSpec &file_spec, File::OpenOptions flags, uint32_t mode, Status &error) |
virtual bool | CloseFile (lldb::user_id_t fd, Status &error) |
virtual lldb::user_id_t | GetFileSize (const FileSpec &file_spec) |
virtual void | AutoCompleteDiskFileOrDirectory (CompletionRequest &request, bool only_dir) |
virtual uint64_t | ReadFile (lldb::user_id_t fd, uint64_t offset, void *dst, uint64_t dst_len, Status &error) |
virtual uint64_t | WriteFile (lldb::user_id_t fd, uint64_t offset, const void *src, uint64_t src_len, Status &error) |
virtual Status | GetFile (const FileSpec &source, const FileSpec &destination) |
virtual Status | PutFile (const FileSpec &source, const FileSpec &destination, uint32_t uid=UINT32_MAX, uint32_t gid=UINT32_MAX) |
virtual Status | CreateSymlink (const FileSpec &src, const FileSpec &dst) |
virtual Status | Install (const FileSpec &src, const FileSpec &dst) |
Install a file or directory to the remote system. | |
virtual Environment | GetEnvironment () |
virtual bool | GetFileExists (const lldb_private::FileSpec &file_spec) |
virtual Status | Unlink (const FileSpec &file_spec) |
virtual MmapArgList | GetMmapArgumentList (const ArchSpec &arch, lldb::addr_t addr, lldb::addr_t length, unsigned prot, unsigned flags, lldb::addr_t fd, lldb::addr_t offset) |
virtual bool | GetSupportsRSync () |
virtual void | SetSupportsRSync (bool flag) |
virtual const char * | GetRSyncOpts () |
virtual void | SetRSyncOpts (const char *opts) |
virtual const char * | GetRSyncPrefix () |
virtual void | SetRSyncPrefix (const char *prefix) |
virtual bool | GetSupportsSSH () |
virtual void | SetSupportsSSH (bool flag) |
virtual const char * | GetSSHOpts () |
virtual void | SetSSHOpts (const char *opts) |
virtual bool | GetIgnoresRemoteHostname () |
virtual void | SetIgnoresRemoteHostname (bool flag) |
virtual lldb_private::OptionGroupOptions * | GetConnectionOptions (CommandInterpreter &interpreter) |
virtual lldb_private::Status | RunShellCommand (llvm::StringRef command, const FileSpec &working_dir, int *status_ptr, int *signo_ptr, std::string *command_output, const Timeout< std::micro > &timeout) |
virtual lldb_private::Status | RunShellCommand (llvm::StringRef shell, llvm::StringRef command, const FileSpec &working_dir, int *status_ptr, int *signo_ptr, std::string *command_output, const Timeout< std::micro > &timeout) |
virtual void | SetLocalCacheDirectory (const char *local) |
virtual const char * | GetLocalCacheDirectory () |
virtual std::string | GetPlatformSpecificConnectionInformation () |
virtual llvm::ErrorOr< llvm::MD5::MD5Result > | CalculateMD5 (const FileSpec &file_spec) |
virtual uint32_t | GetResumeCountForLaunchInfo (ProcessLaunchInfo &launch_info) |
virtual const lldb::UnixSignalsSP & | GetRemoteUnixSignals () |
lldb::UnixSignalsSP | GetUnixSignals () |
virtual std::string | GetQueueNameForThreadQAddress (Process *process, lldb::addr_t dispatch_qaddr) |
Locate a queue name given a thread's qaddr. | |
virtual lldb::queue_id_t | GetQueueIDForThreadQAddress (Process *process, lldb::addr_t dispatch_qaddr) |
Locate a queue ID given a thread's qaddr. | |
virtual const std::vector< ConstString > & | GetTrapHandlerSymbolNames () |
Provide a list of trap handler function names for this platform. | |
virtual lldb::UnwindPlanSP | GetTrapHandlerUnwindPlan (const llvm::Triple &triple, ConstString name) |
Try to get a specific unwind plan for a named trap handler. | |
virtual FileSpec | LocateExecutable (const char *basename) |
Find a support executable that may not live within in the standard locations related to LLDB. | |
virtual uint32_t | GetDefaultMemoryCacheLineSize () |
Allow the platform to set preferred memory cache line size. | |
uint32_t | LoadImage (lldb_private::Process *process, const lldb_private::FileSpec &local_file, const lldb_private::FileSpec &remote_file, lldb_private::Status &error) |
Load a shared library into this process. | |
uint32_t | LoadImageUsingPaths (lldb_private::Process *process, const lldb_private::FileSpec &library_name, const std::vector< std::string > &paths, lldb_private::Status &error, lldb_private::FileSpec *loaded_path) |
Load a shared library specified by base name into this process, looking by hand along a set of paths. | |
virtual uint32_t | DoLoadImage (lldb_private::Process *process, const lldb_private::FileSpec &remote_file, const std::vector< std::string > *paths, lldb_private::Status &error, lldb_private::FileSpec *loaded_path=nullptr) |
virtual Status | UnloadImage (lldb_private::Process *process, uint32_t image_token) |
virtual size_t | ConnectToWaitingProcesses (lldb_private::Debugger &debugger, lldb_private::Status &error) |
Connect to all processes waiting for a debugger to attach. | |
virtual llvm::Expected< StructuredData::DictionarySP > | FetchExtendedCrashInformation (lldb_private::Process &process) |
Gather all of crash informations into a structured data dictionary. | |
virtual bool | LoadPlatformBinaryAndSetup (Process *process, lldb::addr_t addr, bool notify) |
Detect a binary in memory that will determine which Platform and DynamicLoader should be used in this target/process, and update the Platform/DynamicLoader. | |
virtual CompilerType | GetSiginfoType (const llvm::Triple &triple) |
virtual Args | GetExtraStartupCommands () |
void | SetLocateModuleCallback (LocateModuleCallback callback) |
Set locate module callback. | |
LocateModuleCallback | GetLocateModuleCallback () const |
Public Member Functions inherited from lldb_private::PluginInterface | |
PluginInterface ()=default | |
virtual | ~PluginInterface ()=default |
virtual llvm::StringRef | GetPluginName ()=0 |
PluginInterface (const PluginInterface &)=delete | |
PluginInterface & | operator= (const PluginInterface &)=delete |
Protected Types | |
typedef std::vector< SDKDirectoryInfo > | SDKDirectoryInfoCollection |
Protected Types inherited from lldb_private::Platform | |
typedef std::map< uint32_t, ConstString > | IDToNameMap |
Protected Member Functions | |
virtual Status | GetSharedModuleWithLocalCache (const ModuleSpec &module_spec, lldb::ModuleSP &module_sp, const FileSpecList *module_search_paths_ptr, llvm::SmallVectorImpl< lldb::ModuleSP > *old_modules, bool *did_create_ptr) |
bool | UpdateSDKDirectoryInfosIfNeeded () |
const SDKDirectoryInfo * | GetSDKDirectoryForLatestOSVersion () |
const SDKDirectoryInfo * | GetSDKDirectoryForCurrentOSVersion () |
const char * | GetDeviceSupportDirectory () |
const char * | GetDeviceSupportDirectoryForOSVersion () |
virtual llvm::StringRef | GetPlatformName ()=0 |
virtual llvm::StringRef | GetDeviceSupportDirectoryName ()=0 |
Protected Member Functions inherited from lldb_private::PlatformDarwin | |
StructuredData::ArraySP | ExtractCrashInfoAnnotations (Process &process) |
Extract the __crash_info annotations from each of the target's modules. | |
StructuredData::DictionarySP | ExtractAppSpecificInfo (Process &process) |
Extract the Application Specific Information messages from a crash report. | |
void | ReadLibdispatchOffsetsAddress (Process *process) |
void | ReadLibdispatchOffsets (Process *process) |
virtual bool | CheckLocalSharedCache () const |
void | AddClangModuleCompilationOptionsForSDKType (Target *target, std::vector< std::string > &options, XcodeSDK::Type sdk_type) |
Status | FindBundleBinaryInExecSearchPaths (const ModuleSpec &module_spec, Process *process, lldb::ModuleSP &module_sp, const FileSpecList *module_search_paths_ptr, llvm::SmallVectorImpl< lldb::ModuleSP > *old_modules, bool *did_create_ptr) |
Protected Member Functions inherited from PlatformPOSIX | |
lldb_private::Status | EvaluateLibdlExpression (lldb_private::Process *process, const char *expr_cstr, llvm::StringRef expr_prefix, lldb::ValueObjectSP &result_valobj_sp) |
std::unique_ptr< lldb_private::UtilityFunction > | MakeLoadImageUtilityFunction (lldb_private::ExecutionContext &exe_ctx, lldb_private::Status &error) |
virtual llvm::StringRef | GetLibdlFunctionDeclarations (lldb_private::Process *process) |
Protected Member Functions inherited from lldb_private::Platform | |
lldb::ProcessSP | DoConnectProcess (llvm::StringRef connect_url, llvm::StringRef plugin_name, Debugger &debugger, Stream *stream, Target *target, Status &error) |
Private implementation of connecting to a process. | |
virtual void | CalculateTrapHandlerSymbolNames ()=0 |
Ask the Platform subclass to fill in the list of trap handler names. | |
Status | GetCachedExecutable (ModuleSpec &module_spec, lldb::ModuleSP &module_sp, const FileSpecList *module_search_paths_ptr) |
virtual Status | DownloadModuleSlice (const FileSpec &src_file_spec, const uint64_t src_offset, const uint64_t src_size, const FileSpec &dst_file_spec) |
virtual Status | DownloadSymbolFile (const lldb::ModuleSP &module_sp, const FileSpec &dst_file_spec) |
virtual const char * | GetCacheHostname () |
Static Protected Member Functions | |
static FileSystem::EnumerateDirectoryResult | GetContainedFilesIntoVectorOfStringsCallback (void *baton, llvm::sys::fs::file_type ft, llvm::StringRef path) |
Static Protected Member Functions inherited from lldb_private::PlatformDarwin | |
static const char * | GetCompatibleArch (ArchSpec::Core core, size_t idx) |
static FileSystem::EnumerateDirectoryResult | DirectoryEnumerator (void *baton, llvm::sys::fs::file_type file_type, llvm::StringRef path) |
static FileSpec | FindSDKInXcodeForModules (XcodeSDK::Type sdk_type, const FileSpec &sdks_spec) |
static FileSpec | GetSDKDirectoryForModules (XcodeSDK::Type sdk_type) |
static std::string | FindComponentInPath (llvm::StringRef path, llvm::StringRef component) |
static llvm::Triple::OSType | GetHostOSType () |
Static Protected Member Functions inherited from lldb_private::Platform | |
static std::vector< ArchSpec > | CreateArchList (llvm::ArrayRef< llvm::Triple::ArchType > archs, llvm::Triple::OSType os) |
Create a list of ArchSpecs with the given OS and a architectures. | |
Private Attributes | |
std::string | m_device_support_directory |
std::string | m_device_support_directory_for_os_version |
Additional Inherited Members | |
Public Types inherited from lldb_private::Platform | |
typedef std::function< Status(const ModuleSpec &module_spec, FileSpec &module_file_spec, FileSpec &symbol_file_spec)> | LocateModuleCallback |
Static Public Member Functions inherited from lldb_private::PlatformDarwin | |
static lldb::PlatformSP | CreateInstance (bool force, const ArchSpec *arch) |
static void | DebuggerInitialize (lldb_private::Debugger &debugger) |
static void | Initialize () |
static void | Terminate () |
static llvm::StringRef | GetPluginNameStatic () |
static llvm::StringRef | GetDescriptionStatic () |
static std::tuple< llvm::VersionTuple, llvm::StringRef > | ParseVersionBuildDir (llvm::StringRef str) |
static FileSpec | GetCurrentToolchainDirectory () |
Return the toolchain directory the current LLDB instance is located in. | |
static FileSpec | GetCurrentCommandLineToolsDirectory () |
Return the command line tools directory the current LLDB instance is located in. | |
Static Public Member Functions inherited from lldb_private::Platform | |
static void | Initialize () |
static void | Terminate () |
static PlatformProperties & | GetGlobalPlatformProperties () |
static lldb::PlatformSP | GetHostPlatform () |
Get the native host platform plug-in. | |
static const char * | GetHostPlatformName () |
static void | SetHostPlatform (const lldb::PlatformSP &platform_sp) |
static lldb::PlatformSP | Create (llvm::StringRef name) |
static ArchSpec | GetAugmentedArchSpec (Platform *platform, llvm::StringRef triple) |
Augments the triple either with information from platform or the host system (if platform is null). | |
Abstract Darwin platform with a potential device support directory.
Definition at line 21 of file PlatformDarwinDevice.h.
|
protected |
Definition at line 40 of file PlatformDarwinDevice.h.
|
overridedefault |
|
staticprotected |
Definition at line 25 of file PlatformDarwinDevice.cpp.
References lldb_private::FileSystem::eEnumerateDirectoryResultNext.
Referenced by UpdateSDKDirectoryInfosIfNeeded().
|
protected |
Definition at line 229 of file PlatformDarwinDevice.cpp.
References GetPlatformName(), and m_device_support_directory.
Referenced by UpdateSDKDirectoryInfosIfNeeded().
|
protected |
Definition at line 250 of file PlatformDarwinDevice.cpp.
References lldb_private::PlatformDarwinDevice::SDKDirectoryInfo::directory, lldb_private::FileSpec::GetPath(), GetSDKDirectoryForCurrentOSVersion(), GetSDKDirectoryForLatestOSVersion(), m_device_support_directory_for_os_version, lldb_private::Platform::m_sdk_sysroot, and PATH_MAX.
Referenced by GetSharedModuleWithLocalCache(), lldb_private::PlatformRemoteDarwinDevice::GetStatus(), and lldb_private::PlatformRemoteDarwinDevice::GetSymbolFile().
|
protectedpure virtual |
Implemented in lldb_private::PlatformMacOSX, lldb_private::PlatformRemoteAppleBridge, lldb_private::PlatformRemoteAppleTV, lldb_private::PlatformRemoteAppleWatch, lldb_private::PlatformRemoteAppleXR, lldb_private::PlatformRemoteiOS, and lldb_private::PlatformRemoteMacOSX.
Referenced by UpdateSDKDirectoryInfosIfNeeded().
|
protectedpure virtual |
Implemented in lldb_private::PlatformMacOSX, lldb_private::PlatformRemoteAppleBridge, lldb_private::PlatformRemoteAppleTV, lldb_private::PlatformRemoteAppleWatch, lldb_private::PlatformRemoteAppleXR, lldb_private::PlatformRemoteiOS, and lldb_private::PlatformRemoteMacOSX.
Referenced by GetDeviceSupportDirectory().
|
protected |
Definition at line 148 of file PlatformDarwinDevice.cpp.
References lldb_private::Platform::GetOSBuildString(), lldb_private::PlatformDarwin::GetOSVersion(), lldb_private::Platform::GetSDKBuild(), m_sdk_directory_infos, and UpdateSDKDirectoryInfosIfNeeded().
Referenced by GetDeviceSupportDirectoryForOSVersion(), and lldb_private::PlatformRemoteDarwinDevice::GetSharedModule().
|
protected |
Definition at line 215 of file PlatformDarwinDevice.cpp.
References m_sdk_directory_infos, and UpdateSDKDirectoryInfosIfNeeded().
Referenced by GetDeviceSupportDirectoryForOSVersion().
|
protectedvirtual |
Definition at line 296 of file PlatformDarwinDevice.cpp.
References lldb_private::FileSpec::AppendPathComponent(), lldb_private::ConstString::AsCString(), BringInRemoteFile(), lldb_private::PlatformDarwin::CheckLocalSharedCache(), lldb_private::SharedCacheImageInfo::data_sp, lldb_private::Status::Fail(), lldb_private::Status::FromErrorString(), lldb_private::ModuleSpec::GetArchitecture(), GetDeviceSupportDirectoryForOSVersion(), lldb_private::FileSpec::GetDirectory(), lldb_private::FileSpec::GetFilename(), lldb_private::ModuleSpec::GetFileSpec(), lldb_private::Platform::GetLocalCacheDirectory(), lldb_private::GetLog(), lldb_private::FileSpec::GetPath(), lldb_private::ModuleSpec::GetPlatformFileSpec(), lldb_private::ModuleList::GetSharedModule(), lldb_private::Platform::GetSupportsRSync(), lldb_private::ModuleSpec::GetSymbolFileSpec(), lldb_private::ModuleSpec::GetUUID(), lldb_private::FileSystem::Instance(), lldb_private::Platform::IsHost(), LLDB_LOG, LLDB_LOGF, lldb_private::RemoteAwarePlatform::m_remote_platform_sp, lldb_private::Platform, lldb_private::FileSystem::Resolve(), and lldb_private::SharedCacheImageInfo::uuid.
Referenced by lldb_private::PlatformMacOSX::GetSharedModule(), and lldb_private::PlatformRemoteDarwinDevice::GetSharedModule().
|
protected |
Definition at line 32 of file PlatformDarwinDevice.cpp.
References lldb_private::FileSpec::AppendPathComponent(), lldb_private::FileSystem::EnumerateDirectory(), GetContainedFilesIntoVectorOfStringsCallback(), GetDeviceSupportDirectory(), GetDeviceSupportDirectoryName(), lldb_private::GetLog(), lldb_private::FileSpec::GetPath(), lldb_private::Host, lldb_private::FileSystem::Instance(), LLDB_LOGF, m_device_support_directory, m_sdk_dir_mutex, m_sdk_directory_infos, lldb_private::Platform::m_sdk_sysroot, PATH_MAX, and lldb_private::FileSystem::Resolve().
Referenced by GetSDKDirectoryForCurrentOSVersion(), GetSDKDirectoryForLatestOSVersion(), and lldb_private::PlatformRemoteDarwinDevice::GetSharedModule().
|
private |
Definition at line 62 of file PlatformDarwinDevice.h.
Referenced by GetDeviceSupportDirectory(), and UpdateSDKDirectoryInfosIfNeeded().
|
private |
Definition at line 63 of file PlatformDarwinDevice.h.
Referenced by GetDeviceSupportDirectoryForOSVersion().
|
protected |
Definition at line 58 of file PlatformDarwinDevice.h.
Referenced by UpdateSDKDirectoryInfosIfNeeded().
|
protected |
Definition at line 59 of file PlatformDarwinDevice.h.
Referenced by lldb_private::PlatformRemoteDarwinDevice::GetConnectedSDKIndex(), lldb_private::PlatformRemoteDarwinDevice::GetFileInSDK(), GetSDKDirectoryForCurrentOSVersion(), GetSDKDirectoryForLatestOSVersion(), lldb_private::PlatformRemoteDarwinDevice::GetSDKIndexBySDKDirectoryInfo(), lldb_private::PlatformRemoteDarwinDevice::GetSharedModule(), lldb_private::PlatformRemoteDarwinDevice::GetStatus(), and UpdateSDKDirectoryInfosIfNeeded().