LLDB
mainline
|
#include <PlatformAppleSimulator.h>
Public Member Functions | |
PlatformAppleSimulator (const char *class_name, const char *description, ConstString plugin_name, llvm::Triple::OSType preferred_os, llvm::SmallVector< llvm::StringRef, 4 > supported_triples, llvm::StringRef sdk, XcodeSDK::Type sdk_type, CoreSimulatorSupport::DeviceType::ProductFamilyID kind) | |
Default Constructor. More... | |
~PlatformAppleSimulator () override | |
Destructor. More... | |
llvm::StringRef | GetPluginName () override |
llvm::StringRef | GetDescription () 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. More... | |
void | GetStatus (Stream &strm) override |
Report the current status for this platform. More... | |
Status | ConnectRemote (Args &args) override |
Status | DisconnectRemote () 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 (). More... | |
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. More... | |
Status | ResolveExecutable (const ModuleSpec &module_spec, lldb::ModuleSP &module_sp, const FileSpecList *module_search_paths_ptr) override |
Find a platform plugin for a given process. More... | |
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 |
uint32_t | FindProcesses (const ProcessInstanceInfoMatch &match_info, ProcessInstanceInfoList &process_infos) override |
Attach to an existing process by process name. More... | |
void | AddClangModuleCompilationOptions (Target *target, std::vector< std::string > &options) override |
![]() | |
~PlatformDarwin () override | |
Destructor. More... | |
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. More... | |
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, llvm::Optional< llvm::Triple::OSType > os={}) |
The architecture selection rules for arm processors These cpu subtypes have distinct names (e.g. More... | |
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 (). More... | |
void | CalculateTrapHandlerSymbolNames () override |
Ask the Platform subclass to fill in the list of trap handler names. More... | |
llvm::VersionTuple | GetOSVersion (Process *process=nullptr) override |
Get the OS version from a connected platform. More... | |
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. More... | |
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. More... | |
Args | GetExtraStartupCommands () override |
llvm::Expected< StructuredData::DictionarySP > | FetchExtendedCrashInformation (Process &process) override |
Gather all of crash informations into a structured data dictionary. More... | |
PlatformPOSIX (bool is_host) | |
Default Constructor. More... | |
![]() | |
PlatformPOSIX (bool is_host) | |
Default Constructor. More... | |
~PlatformPOSIX () override | |
Destructor. More... | |
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. More... | |
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 (). More... | |
std::string | GetPlatformSpecificConnectionInformation () override |
void | CalculateTrapHandlerSymbolNames () override |
Ask the Platform subclass to fill in the list of trap handler names. More... | |
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 |
![]() | |
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 |
bool | CalculateMD5 (const FileSpec &file_spec, uint64_t &low, uint64_t &high) override |
Status | GetFileWithUUID (const FileSpec &platform_file, const UUID *uuid, FileSpec &local_file) override |
Locate a file for a platform. More... | |
bool | GetRemoteOSVersion () override |
llvm::Optional< std::string > | GetRemoteOSBuildString () override |
llvm::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 |
lldb::ProcessSP | ConnectProcess (llvm::StringRef connect_url, llvm::StringRef plugin_name, Debugger &debugger, Target *target, Status &error) override |
Status | KillProcess (const lldb::pid_t pid) override |
Kill process on a platform. More... | |
size_t | ConnectToWaitingProcesses (Debugger &debugger, Status &error) override |
Connect to all processes waiting for a debugger to attach. More... | |
Platform (bool is_host_platform) | |
Default Constructor. More... | |
![]() | |
Platform (bool is_host_platform) | |
Default Constructor. More... | |
~Platform () override | |
The destructor is virtual since this class is designed to be inherited from by the plug-in instance. More... | |
virtual bool | ResolveRemotePath (const FileSpec &platform_path, FileSpec &resolved_platform_path) |
Resolves the FileSpec to a (possibly) remote path. More... | |
bool | SetOSVersion (llvm::VersionTuple os_version) |
llvm::Optional< std::string > | GetOSBuildString () |
llvm::Optional< std::string > | GetOSKernelDescription () |
llvm::StringRef | GetName () |
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. More... | |
virtual bool | IsCompatibleArchitecture (const ArchSpec &arch, const ArchSpec &process_host_arch, bool exact_arch_match, ArchSpec *compatible_arch_ptr) |
Lets a platform answer if it is compatible with a given architecture and the target triple contained within. More... | |
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. More... | |
virtual lldb::ProcessSP | ConnectProcessSynchronous (llvm::StringRef connect_url, llvm::StringRef plugin_name, Debugger &debugger, Stream &stream, Target *target, Status &error) |
virtual lldb_private::ConstString | GetSDKDirectory (lldb_private::Target &target) |
const std::string & | GetRemoteURL () const |
bool | IsHost () const |
bool | IsRemote () 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. More... | |
size_t | GetMaxUserIDNameLength () const |
size_t | GetMaxGroupIDNameLength () const |
ConstString | GetSDKRootDirectory () const |
void | SetSDKRootDirectory (ConstString dir) |
ConstString | GetSDKBuild () const |
void | SetSDKBuild (ConstString sdk_build) |
FileSpec | GetWorkingDirectory () |
bool | SetWorkingDirectory (const FileSpec &working_dir) |
virtual void | AutoCompleteDiskFileOrDirectory (CompletionRequest &request, bool only_dir) |
virtual Status | Install (const FileSpec &src, const FileSpec &dst) |
Install a file or directory to the remote system. More... | |
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 void | SetLocalCacheDirectory (const char *local) |
virtual const char * | GetLocalCacheDirectory () |
lldb::UnixSignalsSP | GetUnixSignals () |
virtual std::string | GetQueueNameForThreadQAddress (Process *process, lldb::addr_t dispatch_qaddr) |
Locate a queue name given a thread's qaddr. More... | |
virtual lldb::queue_id_t | GetQueueIDForThreadQAddress (Process *process, lldb::addr_t dispatch_qaddr) |
Locate a queue ID given a thread's qaddr. More... | |
virtual const std::vector< ConstString > & | GetTrapHandlerSymbolNames () |
Provide a list of trap handler function names for this platform. More... | |
virtual lldb::UnwindPlanSP | GetTrapHandlerUnwindPlan (const llvm::Triple &triple, ConstString name) |
Try to get a specific unwind plan for a named trap handler. More... | |
virtual uint32_t | GetDefaultMemoryCacheLineSize () |
Allow the platform to set preferred memory cache line size. More... | |
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. More... | |
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. More... | |
virtual CompilerType | GetSiginfoType (const llvm::Triple &triple) |
![]() | |
PluginInterface ()=default | |
virtual | ~PluginInterface ()=default |
PluginInterface (const PluginInterface &)=delete | |
PluginInterface & | operator= (const PluginInterface &)=delete |
Static Public Member Functions | |
static void | Initialize () |
static void | Terminate () |
static lldb::PlatformSP | CreateInstance (const char *class_name, const char *description, ConstString plugin_name, llvm::SmallVector< llvm::Triple::ArchType, 4 > supported_arch, llvm::Triple::OSType preferred_os, llvm::SmallVector< llvm::Triple::OSType, 4 > supported_os, llvm::SmallVector< llvm::StringRef, 4 > supported_triples, std::string sdk_name_preferred, std::string sdk_name_secondary, XcodeSDK::Type sdk_type, CoreSimulatorSupport::DeviceType::ProductFamilyID kind, bool force, const ArchSpec *arch) |
![]() | |
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. More... | |
static FileSpec | GetCurrentCommandLineToolsDirectory () |
Return the command line tools directory the current LLDB instance is located in. More... | |
![]() | |
static void | Initialize () |
static void | Terminate () |
static PlatformProperties & | GetGlobalPlatformProperties () |
static lldb::PlatformSP | GetHostPlatform () |
Get the native host platform plug-in. More... | |
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). More... | |
Protected Member Functions | |
FileSpec | GetCoreSimulatorPath () |
void | LoadCoreSimulator () |
![]() | |
StructuredData::ArraySP | ExtractCrashInfoAnnotations (Process &process) |
Extract the __crash_info annotations from each of of the target's modules. More... | |
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) |
![]() | |
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) |
![]() | |
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. More... | |
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 () |
virtual Status | ResolveRemoteExecutable (const ModuleSpec &module_spec, lldb::ModuleSP &exe_module_sp, const FileSpecList *module_search_paths_ptr) |
Private Member Functions | |
PlatformAppleSimulator (const PlatformAppleSimulator &)=delete | |
const PlatformAppleSimulator & | operator= (const PlatformAppleSimulator &)=delete |
Status | GetSymbolFile (const FileSpec &platform_file, const UUID *uuid_ptr, FileSpec &local_file) |
Additional Inherited Members | |
![]() | |
typedef std::map< uint32_t, ConstString > | IDToNameMap |
![]() | |
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 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. More... | |
Definition at line 40 of file PlatformAppleSimulator.h.
PlatformAppleSimulator::PlatformAppleSimulator | ( | const char * | class_name, |
const char * | description, | ||
ConstString | plugin_name, | ||
llvm::Triple::OSType | preferred_os, | ||
llvm::SmallVector< llvm::StringRef, 4 > | supported_triples, | ||
llvm::StringRef | sdk, | ||
XcodeSDK::Type | sdk_type, | ||
CoreSimulatorSupport::DeviceType::ProductFamilyID | kind | ||
) |
Default Constructor.
Definition at line 39 of file PlatformAppleSimulator.cpp.
Referenced by CreateInstance().
|
overridedefault |
Destructor.
The destructor is virtual since this class is designed to be inherited from by the plug-in instance.
|
privatedelete |
|
inlineoverridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 103 of file PlatformAppleSimulator.h.
References lldb_private::PlatformDarwin::AddClangModuleCompilationOptionsForSDKType(), and m_sdk_type.
Reimplemented from lldb_private::Platform.
Definition at line 131 of file PlatformAppleSimulator.cpp.
References DisconnectRemote(), error(), CoreSimulatorSupport::DeviceSet::ForEach(), lldb_private::Args::GetArgumentAtIndex(), lldb_private::Args::GetArgumentCount(), CoreSimulatorSupport::DeviceSet::GetAvailableDevices(), CoreSimulatorSupport::Device::GetName(), CoreSimulatorSupport::Device::GetUDID(), LoadCoreSimulator(), m_device, lldb_private::Status::SetErrorString(), string(), and UNSUPPORTED_ERROR.
|
static |
Definition at line 286 of file PlatformAppleSimulator.cpp.
References lldb_private::ArchSpec::GetArchitectureName(), lldb_private::GetLog(), lldb_private::ArchSpec::GetMachine(), lldb_private::ArchSpec::GetTriple(), GetXcodeSDKDir(), lldb_private::ArchSpec::IsValid(), LLDB_LOGF, lldb_private::Platform, PlatformAppleSimulator(), lldb_private::ArchSpec::TripleOSWasSpecified(), and lldb_private::ArchSpec::TripleVendorWasSpecified().
Referenced by PlatformiOSSimulator::CreateInstance(), PlatformAppleTVSimulator::CreateInstance(), and PlatformAppleWatchSimulator::CreateInstance().
|
overridevirtual |
Subclasses do not need to implement this function as it uses the Platform::LaunchProcess() followed by Platform::Attach ().
Remote platforms will want to subclass this function in order to be able to intercept STDIO and possibly launch a separate process that will debug the debuggee.
Reimplemented from lldb_private::Platform.
Definition at line 182 of file PlatformAppleSimulator.cpp.
References PlatformPOSIX::Attach(), error(), lldb_private::ProcessLaunchInfo::GetFlags(), lldb_private::ProcessAttachInfo::GetHijackListener(), lldb_private::ProcessInfo::GetProcessID(), lldb_private::ProcessLaunchInfo::GetPTY(), lldb_private::PseudoTerminal::invalid_fd, LaunchProcess(), LLDB_INVALID_PROCESS_ID, lldb_private::PseudoTerminal::ReleasePrimaryFileDescriptor(), lldb_private::Flags::Set(), lldb_private::ProcessLaunchInfo::SetHijackListener(), and lldb_private::ProcessLaunchInfo::SetLaunchInSeparateProcessGroup().
|
overridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 170 of file PlatformAppleSimulator.cpp.
References m_device, lldb_private::Status::SetErrorString(), and UNSUPPORTED_ERROR.
Referenced by ConnectRemote().
|
overridevirtual |
Attach to an existing process by process name.
This function is not meant to be overridden by Process subclasses. It will first call Process::WillAttach (const char *) and if that returns true, Process::DoAttach (const char *) will be called to actually do the attach. If DoAttach returns true, then Process::DidAttach() will be called.
[in] | process_name | A process name to match against the current process list. |
Reimplemented from lldb_private::RemoteAwarePlatform.
Definition at line 500 of file PlatformAppleSimulator.cpp.
References lldb_private::Host::FindProcesses(), lldb_private::ProcessInfo::GetArchitecture(), lldb_private::ArchSpec::GetTriple(), and m_os_type.
|
protected |
Definition at line 226 of file PlatformAppleSimulator.cpp.
References lldb_private::FileSystem::Instance(), m_core_sim_path_mutex, m_core_simulator_framework_path, and lldb_private::FileSystem::Resolve().
Referenced by LoadCoreSimulator().
|
inlineoverridevirtual |
Implements lldb_private::Platform.
Definition at line 72 of file PlatformAppleSimulator.h.
References m_description.
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 69 of file PlatformAppleSimulator.h.
References lldb_private::ConstString::GetStringRef(), and m_plugin_name.
Referenced by GetSymbolFile(), and ResolveExecutable().
|
overridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 472 of file PlatformAppleSimulator.cpp.
References error(), lldb_private::ModuleSpec::GetFileSpec(), lldb_private::ModuleList::GetSharedModule(), GetSymbolFile(), lldb_private::ModuleSpec::GetUUIDPtr(), and ResolveExecutable().
|
overridevirtual |
Report the current status for this platform.
The returned string usually involves returning the OS version (if available), and any SDK directory that might be being used for local file caching, and if connected a quick blurb about what this platform is connected to.
Reimplemented from lldb_private::Platform.
Definition at line 83 of file PlatformAppleSimulator.cpp.
References CoreSimulatorSupport::Device::Booted, CoreSimulatorSupport::DeviceSet::GetAvailableDevices(), CoreSimulatorSupport::DeviceSet::GetDeviceAtIndex(), CoreSimulatorSupport::Device::GetName(), CoreSimulatorSupport::DeviceSet::GetNumDevices(), lldb_private::Platform::GetStatus(), CoreSimulatorSupport::Device::GetUDID(), LoadCoreSimulator(), m_device, m_sdk, lldb_private::Stream::Printf(), string(), and UNSUPPORTED_ERROR.
|
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 269 of file PlatformAppleSimulator.cpp.
References m_supported_triples.
Referenced by ResolveExecutable().
|
private |
Definition at line 439 of file PlatformAppleSimulator.cpp.
References error(), lldb_private::FileSpec::GetPath(), GetPluginName(), lldb_private::FileSystem::Instance(), m_sdk, PATH_MAX, lldb_private::FileSystem::Resolve(), and lldb_private::FileSpec::SetFile().
Referenced by GetSharedModule().
|
static |
Definition at line 659 of file PlatformAppleSimulator.cpp.
References g_initialize_count, lldb_private::PlatformDarwin::Initialize(), PlatformiOSSimulator::Initialize(), PlatformAppleTVSimulator::Initialize(), and PlatformAppleWatchSimulator::Initialize().
|
overridevirtual |
Launch a new process on a platform, not necessarily for debugging, it could be just for running the process.
Reimplemented from lldb_private::RemoteAwarePlatform.
Definition at line 56 of file PlatformAppleSimulator.cpp.
References CoreSimulatorSupport::Device::Boot(), CoreSimulatorSupport::Device::Booted, lldb_private::Status::Fail(), CoreSimulatorSupport::Device::GetState(), LoadCoreSimulator(), lldb_private::Status::SetErrorString(), lldb_private::ProcessInfo::SetProcessID(), CoreSimulatorSupport::Device::Spawn(), and UNSUPPORTED_ERROR.
Referenced by DebugProcess().
|
protected |
Definition at line 241 of file PlatformAppleSimulator.cpp.
References GetCoreSimulatorPath(), and string().
Referenced by ConnectRemote(), GetStatus(), and LaunchProcess().
|
privatedelete |
|
overridevirtual |
Find a platform plugin for a given process.
Scans the installed Platform plug-ins and tries to find an instance that can be used for process
[in] | process | The process for which to try and locate a platform plug-in instance. |
[in] | plugin_name | An optional name of a specific platform plug-in that should be used. If nullptr, pick the best plug-in. Set the target's executable based off of the existing architecture information in target given a path to an executable exe_file. |
Each platform knows the architectures that it supports and can select the correct architecture slice within exe_file by inspecting the architecture in target. If the target had an architecture specified, then in can try and obey that request and optionally fail if the architecture doesn't match up. If no architecture is specified, the platform should select the default architecture from exe_file. Any application bundles or executable wrappers can also be inspected for the actual application binary within the bundle that should be used.
Reimplemented from lldb_private::RemoteAwarePlatform.
Definition at line 364 of file PlatformAppleSimulator.cpp.
References error(), lldb_private::ModuleSpec::GetArchitecture(), lldb_private::ArchSpec::GetArchitectureName(), lldb_private::ArchSpec::GetCore(), lldb_private::ModuleSpec::GetFileSpec(), lldb_private::FileSpec::GetPath(), GetPluginName(), lldb_private::ModuleList::GetSharedModule(), lldb_private::StreamString::GetString(), GetSupportedArchitectures(), lldb_private::FileSystem::Instance(), lldb_private::ArchSpec::IsValid(), and lldb_private::Host::ResolveExecutableInBundle().
Referenced by GetSharedModule().
|
static |
Definition at line 668 of file PlatformAppleSimulator.cpp.
References g_initialize_count, lldb_private::PlatformDarwin::Terminate(), PlatformiOSSimulator::Terminate(), PlatformAppleTVSimulator::Terminate(), and PlatformAppleWatchSimulator::Terminate().
|
protected |
Definition at line 110 of file PlatformAppleSimulator.h.
|
protected |
Definition at line 113 of file PlatformAppleSimulator.h.
Referenced by GetCoreSimulatorPath().
|
protected |
Definition at line 114 of file PlatformAppleSimulator.h.
Referenced by GetCoreSimulatorPath().
|
protected |
Definition at line 111 of file PlatformAppleSimulator.h.
Referenced by GetDescription().
|
protected |
Definition at line 115 of file PlatformAppleSimulator.h.
Referenced by ConnectRemote(), DisconnectRemote(), and GetStatus().
|
protected |
Definition at line 116 of file PlatformAppleSimulator.h.
|
protected |
Definition at line 120 of file PlatformAppleSimulator.h.
Referenced by FindProcesses().
|
protected |
Definition at line 112 of file PlatformAppleSimulator.h.
Referenced by GetPluginName().
|
protected |
Definition at line 122 of file PlatformAppleSimulator.h.
Referenced by GetStatus(), and GetSymbolFile().
|
protected |
Definition at line 123 of file PlatformAppleSimulator.h.
Referenced by AddClangModuleCompilationOptions().
|
protected |
Definition at line 121 of file PlatformAppleSimulator.h.
Referenced by GetSupportedArchitectures().