|
| ~PlatformDarwinDevice () override |
|
| ~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.
|
|
| PlatformPOSIX (bool is_host) |
| Default Constructor.
|
|
| 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 |
|
bool | GetModuleSpec (const FileSpec &module_file_spec, const ArchSpec &arch, ModuleSpec &module_spec) override |
|
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.
|
|
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.
|
|
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.
|
|
| 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 &module_sp, const FileSpecList *module_search_paths_ptr) |
| Find a platform plugin for a given process.
|
|
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) |
|
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 bool | CalculateMD5 (const FileSpec &file_spec, uint64_t &low, uint64_t &high) |
|
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 |
|
| PluginInterface ()=default |
|
virtual | ~PluginInterface ()=default |
|
virtual llvm::StringRef | GetPluginName ()=0 |
|
| PluginInterface (const PluginInterface &)=delete |
|
PluginInterface & | operator= (const PluginInterface &)=delete |
|