LLDB mainline
|
#include <PlatformMacOSX.h>
Public Member Functions | |
PlatformMacOSX () | |
Default Constructor. | |
llvm::StringRef | GetPluginName () 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 |
llvm::StringRef | GetDescription () override |
Status | GetFile (const FileSpec &source, const FileSpec &destination) override |
std::vector< ArchSpec > | GetSupportedArchitectures (const ArchSpec &process_host_arch) override |
Get the platform's supported architectures in the order in which they should be searched. | |
ConstString | GetSDKDirectory (Target &target) override |
void | AddClangModuleCompilationOptions (Target *target, std::vector< std::string > &options) override |
Public Member Functions inherited from lldb_private::PlatformDarwinDevice | |
~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'. | |
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'. | |
const std::string & | GetRemoteURL () const |
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 |
Static Public Member Functions | |
static lldb::PlatformSP | CreateInstance (bool force, const ArchSpec *arch) |
static void | Initialize () |
static void | Terminate () |
static llvm::StringRef | GetPluginNameStatic () |
static llvm::StringRef | GetDescriptionStatic () |
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). | |
Protected Member Functions | |
llvm::StringRef | GetDeviceSupportDirectoryName () override |
llvm::StringRef | GetPlatformName () override |
Protected Member Functions inherited from lldb_private::PlatformDarwinDevice | |
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 () |
Definition at line 31 of file PlatformMacOSX.h.
PlatformMacOSX::PlatformMacOSX | ( | ) |
Default Constructor.
Definition at line 103 of file PlatformMacOSX.cpp.
|
inlineoverridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 67 of file PlatformMacOSX.h.
References lldb_private::PlatformDarwin::AddClangModuleCompilationOptionsForSDKType(), and lldb_private::XcodeSDK::MacOSX.
|
static |
Definition at line 96 of file PlatformMacOSX.cpp.
Referenced by Initialize(), and Terminate().
|
inlineoverridevirtual |
Implements lldb_private::Platform.
Definition at line 55 of file PlatformMacOSX.h.
References GetDescriptionStatic().
|
static |
Definition at line 92 of file PlatformMacOSX.cpp.
Referenced by GetDescription(), and Initialize().
|
overrideprotectedvirtual |
Implements lldb_private::PlatformDarwinDevice.
Definition at line 226 of file PlatformMacOSX.cpp.
|
inlineoverridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 57 of file PlatformMacOSX.h.
References lldb_private::Platform::GetFile().
|
overrideprotectedvirtual |
Implements lldb_private::PlatformDarwinDevice.
Definition at line 230 of file PlatformMacOSX.cpp.
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 47 of file PlatformMacOSX.h.
References GetPluginNameStatic().
|
inlinestatic |
Definition at line 41 of file PlatformMacOSX.h.
References lldb_private::Platform::GetHostPlatformName().
Referenced by GetPluginName(), and Initialize().
|
overridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 105 of file PlatformMacOSX.cpp.
References lldb_private::XcodeSDK::GetAnyMacOS(), lldb_private::Target::GetExecutableModule(), lldb_private::FileSpec::GetPath(), lldb_private::ObjectFile::GetSDKVersion(), lldb_private::StreamString::GetString(), lldb_private::FileSystem::Instance(), lldb_private::Stream::Printf(), lldb_private::Debugger::ReportError(), and lldb_private::toString().
|
overridevirtual |
[in] | module_spec | The ModuleSpec of a binary to find. |
[in] | process | A Process. |
[out] | module_sp | A Module that matches the ModuleSpec, if one is found. |
[in] | module_search_paths_ptr | Locations to possibly look for a binary that matches the ModuleSpec. |
[out] | old_modules | Existing Modules in the Process' Target image list which match the FileSpec. |
[out] | did_create_ptr | Optional boolean, nullptr may be passed for this argument. If this method is returning a new ModuleSP, this will be set to true. If this method is returning a ModuleSP that is already in the Target's image list, it will be false. |
Reimplemented from lldb_private::PlatformDarwin.
Definition at line 182 of file PlatformMacOSX.cpp.
References lldb_private::ArchSpec::eCore_x86_64_x86_64h, error(), lldb_private::PlatformDarwin::FindBundleBinaryInExecSearchPaths(), lldb_private::ModuleSpec::GetArchitecture(), lldb_private::ArchSpec::GetCore(), and lldb_private::PlatformDarwinDevice::GetSharedModuleWithLocalCache().
|
overridevirtual |
Get the platform's supported architectures in the order in which they should be searched.
[in] | process_host_arch | The process host architecture if it's known. An invalid ArchSpec represents that the process host architecture is unknown. |
Implements lldb_private::Platform.
Definition at line 148 of file PlatformMacOSX.cpp.
References lldb_private::PlatformDarwin::ARMGetSupportedArchitectures(), lldb_private::PlatformDarwin::GetHostOSType(), lldb_private::ArchSpec::GetTriple(), and lldb_private::PlatformDarwin::x86GetSupportedArchitectures().
|
static |
Definition at line 47 of file PlatformMacOSX.cpp.
References CreateInstance(), g_initialize_count, GetDescriptionStatic(), GetPluginNameStatic(), lldb_private::PlatformAppleSimulator::Initialize(), lldb_private::PlatformDarwin::Initialize(), lldb_private::PlatformRemoteAppleBridge::Initialize(), lldb_private::PlatformRemoteAppleTV::Initialize(), lldb_private::PlatformRemoteAppleWatch::Initialize(), lldb_private::PlatformRemoteAppleXR::Initialize(), lldb_private::PlatformRemoteiOS::Initialize(), lldb_private::PlatformRemoteMacOSX::Initialize(), lldb_private::PluginManager::RegisterPlugin(), and lldb_private::Platform::SetHostPlatform().
|
static |
Definition at line 72 of file PlatformMacOSX.cpp.
References CreateInstance(), g_initialize_count, lldb_private::PlatformRemoteMacOSX::Initialize(), lldb_private::PlatformAppleSimulator::Terminate(), lldb_private::PlatformDarwin::Terminate(), lldb_private::PlatformRemoteAppleBridge::Terminate(), lldb_private::PlatformRemoteAppleTV::Terminate(), lldb_private::PlatformRemoteAppleWatch::Terminate(), lldb_private::PlatformRemoteAppleXR::Terminate(), lldb_private::PlatformRemoteiOS::Terminate(), and lldb_private::PluginManager::UnregisterPlugin().