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, std::string sdk_name_primary, std::string sdk_name_secondary, XcodeSDK::Type sdk_type, CoreSimulatorSupport::DeviceType::ProductFamilyID kind) | |
Default Constructor. | |
~PlatformAppleSimulator () override | |
Destructor. | |
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. | |
void | GetStatus (Stream &strm) override |
Report the current status for this platform. | |
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 (). | |
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. | |
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. | |
void | AddClangModuleCompilationOptions (Target *target, std::vector< std::string > &options) 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 bool | ResolveRemotePath (const FileSpec &platform_path, FileSpec &resolved_platform_path) |
Resolves the FileSpec to a (possibly) remote path. | |
bool | SetOSVersion (llvm::VersionTuple os_version) |
std::optional< std::string > | GetOSBuildString () |
std::optional< std::string > | GetOSKernelDescription () |
llvm::StringRef | GetName () |
void | CallLocateModuleCallbackIfSet (const ModuleSpec &module_spec, lldb::ModuleSP &module_sp, FileSpec &symbol_file_spec, bool *did_create_ptr) |
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 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 | ConnectProcessSynchronous (llvm::StringRef connect_url, llvm::StringRef plugin_name, Debugger &debugger, Stream &stream, Target *target, Status &error) |
ProcessInstanceInfoList | GetAllProcesses () |
virtual lldb_private::ConstString | GetSDKDirectory (lldb_private::Target &target) |
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. | |
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) |
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. | |
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. | |
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 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 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 lldb::StopInfoSP | GetStopInfoFromSiginfo (Thread &thread) |
void | SetLocateModuleCallback (LocateModuleCallback callback) |
Set locate module callback. | |
LocateModuleCallback | GetLocateModuleCallback () const |
Public Member Functions inherited from lldb_private::PluginInterface | |
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_primary, std::string sdk_name_secondary, XcodeSDK::Type sdk_type, CoreSimulatorSupport::DeviceType::ProductFamilyID kind, bool force, const ArchSpec *arch) |
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 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 | |
FileSpec | GetCoreSimulatorPath () |
llvm::StringRef | GetSDKFilepath () |
void | LoadCoreSimulator () |
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. | |
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 () |
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 | |
Public Types inherited from lldb_private::Platform | |
typedef std::function< Status(const ModuleSpec &module_spec, FileSpec &module_file_spec, FileSpec &symbol_file_spec)> | LocateModuleCallback |
Protected Types inherited from lldb_private::Platform | |
typedef std::map< uint32_t, ConstString > | IDToNameMap |
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 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. |
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, | ||
std::string | sdk_name_primary, | ||
std::string | sdk_name_secondary, | ||
XcodeSDK::Type | sdk_type, | ||
CoreSimulatorSupport::DeviceType::ProductFamilyID | kind ) |
Default Constructor.
Definition at line 40 of file PlatformAppleSimulator.cpp.
References m_class_name, m_description, m_kind, m_os_type, m_plugin_name, m_sdk_name_primary, m_sdk_name_secondary, m_sdk_type, m_supported_triples, and lldb_private::PlatformDarwin::PlatformDarwin().
Referenced by CreateInstance(), operator=(), and PlatformAppleSimulator().
|
overridedefault |
Destructor.
The destructor is virtual since this class is designed to be inherited from by the plug-in instance.
|
privatedelete |
References PlatformAppleSimulator().
|
inlineoverridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 100 of file PlatformAppleSimulator.h.
References lldb_private::PlatformDarwin::AddClangModuleCompilationOptionsForSDKType(), and m_sdk_type.
Reimplemented from lldb_private::Platform.
Definition at line 136 of file PlatformAppleSimulator.cpp.
References DisconnectRemote(), error(), CoreSimulatorSupport::DeviceSet::ForEach(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), lldb_private::Args::GetArgumentAtIndex(), lldb_private::Args::GetArgumentCount(), CoreSimulatorSupport::DeviceSet::GetAvailableDevices(), CoreSimulatorSupport::Device::GetName(), CoreSimulatorSupport::Device::GetUDID(), LoadCoreSimulator(), m_device, and UNSUPPORTED_ERROR.
|
static |
Definition at line 312 of file PlatformAppleSimulator.cpp.
References lldb_private::ArchSpec::GetArchitectureName(), lldb_private::GetLog(), lldb_private::ArchSpec::GetMachine(), lldb_private::ArchSpec::GetTriple(), lldb_private::ArchSpec::IsValid(), LLDB_LOGF, lldb_private::Platform, PlatformAppleSimulator(), lldb_private::ArchSpec::TripleOSWasSpecified(), and lldb_private::ArchSpec::TripleVendorWasSpecified().
Referenced by PlatformAppleTVSimulator::CreateInstance(), PlatformAppleWatchSimulator::CreateInstance(), PlatformiOSSimulator::CreateInstance(), and PlatformXRSimulator::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 188 of file PlatformAppleSimulator.cpp.
References PlatformPOSIX::Attach(), error(), lldb_private::ProcessLaunchInfo::GetFlags(), lldb_private::ProcessInfo::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::ProcessInfo::SetHijackListener(), and lldb_private::ProcessLaunchInfo::SetLaunchInSeparateProcessGroup().
|
overridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 176 of file PlatformAppleSimulator.cpp.
References lldb_private::Status::FromErrorString(), m_device, lldb_private::Status, 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::Platform.
Definition at line 449 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 232 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 73 of file PlatformAppleSimulator.h.
References m_description.
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 70 of file PlatformAppleSimulator.h.
References m_plugin_name.
Referenced by GetSymbolFile().
|
protected |
Definition at line 304 of file PlatformAppleSimulator.cpp.
References GetXcodeSDKDir(), m_have_searched_for_sdk, m_sdk, m_sdk_name_primary, and m_sdk_name_secondary.
Referenced by GetStatus(), and GetSymbolFile().
|
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::Platform.
Definition at line 421 of file PlatformAppleSimulator.cpp.
References error(), lldb_private::ModuleSpec::GetFileSpec(), lldb_private::ModuleList::GetSharedModule(), GetSymbolFile(), lldb_private::ModuleSpec::GetUUIDPtr(), and lldb_private::RemoteAwarePlatform::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 87 of file PlatformAppleSimulator.cpp.
References CoreSimulatorSupport::Device::Booted, CoreSimulatorSupport::DeviceSet::GetAvailableDevices(), CoreSimulatorSupport::DeviceSet::GetDeviceAtIndex(), CoreSimulatorSupport::Device::GetName(), CoreSimulatorSupport::DeviceSet::GetNumDevices(), GetSDKFilepath(), lldb_private::Platform::GetStatus(), CoreSimulatorSupport::Device::GetUDID(), LoadCoreSimulator(), m_device, lldb_private::Stream::Printf(), 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 276 of file PlatformAppleSimulator.cpp.
References m_supported_triples.
|
private |
Definition at line 387 of file PlatformAppleSimulator.cpp.
References error(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormatv(), lldb_private::FileSpec::GetPath(), GetPluginName(), GetSDKFilepath(), lldb_private::FileSystem::Instance(), PATH_MAX, lldb_private::FileSystem::Resolve(), and lldb_private::FileSpec::SetFile().
Referenced by GetSharedModule().
|
static |
Definition at line 643 of file PlatformAppleSimulator.cpp.
References g_initialize_count, lldb_private::PlatformDarwin::Initialize(), PlatformAppleTVSimulator::Initialize(), PlatformAppleWatchSimulator::Initialize(), PlatformiOSSimulator::Initialize(), and PlatformXRSimulator::Initialize().
Referenced by lldb_private::PlatformMacOSX::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::Platform.
Definition at line 60 of file PlatformAppleSimulator.cpp.
References CoreSimulatorSupport::Device::Boot(), CoreSimulatorSupport::Device::Booted, lldb_private::Status::Fail(), lldb_private::Status::FromErrorString(), CoreSimulatorSupport::Process::GetError(), CoreSimulatorSupport::Device::GetState(), LoadCoreSimulator(), lldb_private::ProcessInfo::SetProcessID(), CoreSimulatorSupport::Device::Spawn(), lldb_private::Status, and UNSUPPORTED_ERROR.
Referenced by DebugProcess().
|
protected |
Definition at line 247 of file PlatformAppleSimulator.cpp.
References GetCoreSimulatorPath().
Referenced by ConnectRemote(), GetStatus(), and LaunchProcess().
|
privatedelete |
References PlatformAppleSimulator().
|
static |
Definition at line 653 of file PlatformAppleSimulator.cpp.
References g_initialize_count, lldb_private::PlatformDarwin::Terminate(), PlatformAppleTVSimulator::Terminate(), PlatformAppleWatchSimulator::Terminate(), PlatformiOSSimulator::Terminate(), and PlatformXRSimulator::Terminate().
Referenced by lldb_private::PlatformMacOSX::Terminate().
|
protected |
Definition at line 107 of file PlatformAppleSimulator.h.
Referenced by PlatformAppleSimulator().
|
protected |
Definition at line 110 of file PlatformAppleSimulator.h.
Referenced by GetCoreSimulatorPath().
|
protected |
Definition at line 111 of file PlatformAppleSimulator.h.
Referenced by GetCoreSimulatorPath().
|
protected |
Definition at line 108 of file PlatformAppleSimulator.h.
Referenced by GetDescription(), and PlatformAppleSimulator().
|
protected |
Definition at line 112 of file PlatformAppleSimulator.h.
Referenced by ConnectRemote(), DisconnectRemote(), and GetStatus().
|
protected |
Definition at line 123 of file PlatformAppleSimulator.h.
Referenced by GetSDKFilepath().
|
protected |
Definition at line 113 of file PlatformAppleSimulator.h.
Referenced by PlatformAppleSimulator().
|
protected |
Definition at line 119 of file PlatformAppleSimulator.h.
Referenced by FindProcesses(), and PlatformAppleSimulator().
|
protected |
Definition at line 109 of file PlatformAppleSimulator.h.
Referenced by GetPluginName(), and PlatformAppleSimulator().
|
protected |
Definition at line 124 of file PlatformAppleSimulator.h.
Referenced by GetSDKFilepath().
|
protected |
Definition at line 121 of file PlatformAppleSimulator.h.
Referenced by GetSDKFilepath(), and PlatformAppleSimulator().
|
protected |
Definition at line 122 of file PlatformAppleSimulator.h.
Referenced by GetSDKFilepath(), and PlatformAppleSimulator().
|
protected |
Definition at line 125 of file PlatformAppleSimulator.h.
Referenced by AddClangModuleCompilationOptions(), and PlatformAppleSimulator().
|
protected |
Definition at line 120 of file PlatformAppleSimulator.h.
Referenced by GetSupportedArchitectures(), and PlatformAppleSimulator().