LLDB
mainline
|
#include <PlatformWindows.h>
Public Member Functions | |
PlatformWindows (bool is_host) | |
Default Constructor. More... | |
llvm::StringRef | GetPluginName () override |
llvm::StringRef | GetDescription () override |
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_path) override |
lldb_private::Status | UnloadImage (lldb_private::Process *process, uint32_t image_token) override |
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... | |
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... | |
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... | |
void | GetStatus (lldb_private::Stream &strm) override |
Report the current status for this platform. More... | |
bool | CanDebugProcess () override |
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... | |
void | CalculateTrapHandlerSymbolNames () override |
Ask the Platform subclass to fill in the list of trap handler names. More... | |
ConstString | GetFullNameForDylib (ConstString basename) override |
size_t | GetSoftwareBreakpointTrapOpcode (Target &target, BreakpointSite *bp_site) 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. More... | |
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 |
uint32_t | FindProcesses (const ProcessInstanceInfoMatch &match_info, ProcessInstanceInfoList &process_infos) override |
Attach to an existing process by process name. More... | |
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. More... | |
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 Status | ResolveSymbolFile (Target &target, const ModuleSpec &sym_spec, FileSpec &sym_file) |
Find a symbol file given a symbol file module specification. More... | |
virtual bool | ResolveRemotePath (const FileSpec &platform_path, FileSpec &resolved_platform_path) |
Resolves the FileSpec to a (possibly) remote path. More... | |
virtual llvm::VersionTuple | GetOSVersion (Process *process=nullptr) |
Get the OS version from a connected platform. More... | |
bool | SetOSVersion (llvm::VersionTuple os_version) |
llvm::Optional< std::string > | GetOSBuildString () |
llvm::Optional< std::string > | GetOSKernelDescription () |
llvm::StringRef | GetName () |
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) |
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, 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. More... | |
virtual lldb::ProcessSP | ConnectProcessSynchronous (llvm::StringRef connect_url, llvm::StringRef plugin_name, Debugger &debugger, Stream &stream, Target *target, Status &error) |
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 |
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) |
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 void | AutoCompleteDiskFileOrDirectory (CompletionRequest &request, bool only_dir) |
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 | 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 lldb_private::OptionGroupOptions * | GetConnectionOptions (CommandInterpreter &interpreter) |
virtual void | SetLocalCacheDirectory (const char *local) |
virtual const char * | GetLocalCacheDirectory () |
virtual std::string | GetPlatformSpecificConnectionInformation () |
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. 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 FileSpec | LocateExecutable (const char *basename) |
Find a support executable that may not live within in the standard locations related to LLDB. 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 llvm::Expected< StructuredData::DictionarySP > | FetchExtendedCrashInformation (lldb_private::Process &process) |
Gather all of crash informations into a structured data dictionary. More... | |
virtual CompilerType | GetSiginfoType (const llvm::Triple &triple) |
virtual Args | GetExtraStartupCommands () |
![]() | |
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 (bool force, const lldb_private::ArchSpec *arch) |
static llvm::StringRef | GetPluginNameStatic (bool is_host) |
static llvm::StringRef | GetPluginDescriptionStatic (bool is_host) |
![]() | |
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... | |
Public Attributes | |
std::vector< ArchSpec > | m_supported_architectures |
Private Member Functions | |
std::unique_ptr< lldb_private::UtilityFunction > | MakeLoadImageUtilityFunction (lldb_private::ExecutionContext &context, lldb_private::Status &status) |
lldb_private::Status | EvaluateLoaderExpression (lldb_private::Process *process, const char *expression, lldb::ValueObjectSP &value) |
Additional Inherited Members | |
![]() | |
typedef std::map< uint32_t, ConstString > | IDToNameMap |
![]() | |
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) |
![]() | |
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... | |
![]() | |
lldb::PlatformSP | m_remote_platform_sp |
![]() | |
bool | m_is_host |
bool | m_os_version_set_while_connected |
bool | m_system_arch_set_while_connected |
ConstString | m_sdk_sysroot |
ConstString | m_sdk_build |
FileSpec | m_working_dir |
std::string | m_remote_url |
std::string | m_hostname |
llvm::VersionTuple | m_os_version |
ArchSpec | m_system_arch |
std::mutex | m_mutex |
size_t | m_max_uid_name_len |
size_t | m_max_gid_name_len |
bool | m_supports_rsync |
std::string | m_rsync_opts |
std::string | m_rsync_prefix |
bool | m_supports_ssh |
std::string | m_ssh_opts |
bool | m_ignores_remote_hostname |
std::string | m_local_cache_directory |
std::vector< ConstString > | m_trap_handlers |
bool | m_calculated_trap_handlers |
const std::unique_ptr< ModuleCache > | m_module_cache |
Definition at line 16 of file PlatformWindows.h.
PlatformWindows::PlatformWindows | ( | bool | is_host | ) |
Default Constructor.
Definition at line 118 of file PlatformWindows.cpp.
References m_supported_architectures.
|
overridevirtual |
Attach to an existing process using a process ID.
Each platform subclass needs to implement this function and attempt to attach to the process with the process ID of pid. The platform subclass should return an appropriate ProcessSP subclass that is attached to the process, or an empty shared pointer with an appropriate error.
Implements lldb_private::Platform.
Definition at line 506 of file PlatformWindows.cpp.
References lldb_private::Target::CreateProcess(), lldb_private::TargetList::CreateTarget(), lldb_private::eLoadDependentsNo, error(), lldb_private::ProcessAttachInfo::GetHijackListener(), lldb_private::ProcessAttachInfo::GetListenerForProcess(), lldb_private::ProcessAttachInfo::GetProcessPluginName(), lldb_private::Debugger::GetTargetList(), lldb_private::Platform::IsHost(), and lldb_private::RemoteAwarePlatform::m_remote_platform_sp.
Referenced by DebugProcess().
|
inlineoverridevirtual |
Ask the Platform subclass to fill in the list of trap handler names.
For most Unix user process environments, this will be a single function name, _sigtramp. More specialized environments may have additional handler names. The unwinder code needs to know when a trap handler is on the stack because the unwind rules for the frame that caused the trap are different.
The base class Platform ivar m_trap_handlers should be updated by the Platform subclass when this method is called. If there are no predefined trap handlers, this method may be a no-op.
Implements lldb_private::Platform.
Definition at line 76 of file PlatformWindows.h.
|
overridevirtual |
Not all platforms will support debugging a process by spawning somehow halted for a debugger (specified using the "eLaunchFlagDebug" launch flag) and then attaching.
If your platform doesn't support this, override this function and return false.
Reimplemented from lldb_private::Platform.
Definition at line 553 of file PlatformWindows.cpp.
|
overridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 132 of file PlatformWindows.cpp.
References lldb_private::platform_gdb_server::PlatformRemoteGDBServer::CreateInstance(), error(), GetPluginName(), lldb_private::Platform::IsHost(), and lldb_private::RemoteAwarePlatform::m_remote_platform_sp.
|
static |
Definition at line 43 of file PlatformWindows.cpp.
|
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 456 of file PlatformWindows.cpp.
References Attach(), lldb_private::Target::CreateProcess(), error(), lldb_private::ProcessLaunchInfo::GetFlags(), lldb_private::ProcessLaunchInfo::GetHijackListener(), lldb_private::ProcessLaunchInfo::GetListener(), lldb_private::ProcessInfo::GetProcessID(), lldb_private::ProcessLaunchInfo::GetProcessPluginName(), lldb_private::Platform::IsRemote(), LLDB_INVALID_PROCESS_ID, lldb_private::RemoteAwarePlatform::m_remote_platform_sp, and lldb_private::Flags::Set().
|
overridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 440 of file PlatformWindows.cpp.
References error(), GetPluginName(), lldb_private::Platform::IsHost(), and lldb_private::RemoteAwarePlatform::m_remote_platform_sp.
|
overridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 163 of file PlatformWindows.cpp.
References lldb_private::Process::AddImageToken(), lldb_private::Process::AllocateMemory(), lldb_private::Status::AsCString(), lldb_private::DiagnosticManager::Clear(), lldb_private::FileSpec::Clear(), lldb_private::FunctionCaller::DeallocateFunctionResults(), lldb_private::Process::DeallocateMemory(), lldb::eBasicTypeVoid, lldb_private::eExecutionPolicyAlways, lldb::eExpressionCompleted, lldb::eLanguageTypeC_plus_plus, error(), lldb_private::FunctionCaller::ExecuteFunction(), lldb_private::Status::Fail(), lldb_private::Process::GetAddressByteSize(), lldb_private::FunctionCaller::GetArgumentValues(), lldb_private::ThreadList::GetExpressionExecutionThread(), lldb_private::ScratchTypeSystemClang::GetForTarget(), lldb_private::UtilityFunction::GetFunctionCaller(), lldb_private::Process::GetLoadImageUtilityFunction(), lldb_private::FileSpec::GetPath(), lldb_private::CompilerType::GetPointerType(), lldb_private::Value::GetScalar(), lldb_private::DiagnosticManager::GetString(), lldb_private::Process::GetTarget(), lldb_private::Process::GetThreadList(), lldb_private::ProcessProperties::GetUtilityExpressionTimeout(), lldb_private::ValueList::GetValueAtIndex(), LLDB_INVALID_ADDRESS, LLDB_INVALID_IMAGE_TOKEN, MakeLoadImageUtilityFunction(), lldb_private::Process::ReadCStringFromMemory(), lldb_private::Process::ReadPointerFromMemory(), lldb_private::Process::ReadUnsignedIntegerFromMemory(), lldb_private::Value::SetCompilerType(), lldb_private::EvaluateExpressionOptions::SetExecutionPolicy(), lldb_private::FileSpec::SetFile(), lldb_private::EvaluateExpressionOptions::SetIgnoreBreakpoints(), lldb_private::EvaluateExpressionOptions::SetIsForUtilityExpr(), lldb_private::EvaluateExpressionOptions::SetLanguage(), lldb_private::EvaluateExpressionOptions::SetTimeout(), lldb_private::EvaluateExpressionOptions::SetTrapExceptions(), lldb_private::EvaluateExpressionOptions::SetUnwindOnError(), string(), word_size, lldb_private::FunctionCaller::WriteFunctionArguments(), lldb_private::Process::WriteMemory(), lldb_private::Process::WritePointerToMemory(), and lldb_private::Process::WriteScalarToMemory().
|
private |
Definition at line 722 of file PlatformWindows.cpp.
References lldb_private::eExecutionPolicyAlways, lldb::eExpressionCompleted, lldb::eLanguageTypeC_plus_plus, error(), lldb_private::UserExpression::Evaluate(), lldb_private::Status::Fail(), lldb_private::Process::GetDynamicLoader(), lldb_private::ThreadList::GetExpressionExecutionThread(), lldb_private::Process::GetThreadList(), lldb_private::ProcessProperties::GetUtilityExpressionTimeout(), lldb_private::EvaluateExpressionOptions::SetExecutionPolicy(), lldb_private::EvaluateExpressionOptions::SetIgnoreBreakpoints(), lldb_private::EvaluateExpressionOptions::SetLanguage(), lldb_private::EvaluateExpressionOptions::SetTimeout(), lldb_private::EvaluateExpressionOptions::SetTrapExceptions(), and lldb_private::EvaluateExpressionOptions::SetUnwindOnError().
Referenced by UnloadImage().
|
inlineoverridevirtual |
Implements lldb_private::Platform.
Definition at line 39 of file PlatformWindows.h.
References GetPluginDescriptionStatic(), and lldb_private::Platform::IsHost().
|
overridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 555 of file PlatformWindows.cpp.
References lldb_private::ConstString::GetCString(), lldb_private::StreamString::GetString(), lldb_private::ConstString::IsEmpty(), and lldb_private::Stream::Printf().
|
static |
Definition at line 85 of file PlatformWindows.cpp.
Referenced by GetDescription().
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 34 of file PlatformWindows.h.
References GetPluginNameStatic(), and lldb_private::Platform::IsHost().
Referenced by ConnectRemote(), and DisconnectRemote().
|
inlinestatic |
Definition at line 28 of file PlatformWindows.h.
References lldb_private::Platform::GetHostPlatformName().
Referenced by GetPluginName().
|
overridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 565 of file PlatformWindows.cpp.
References lldb_private::Target::GetArchitecture(), lldb_private::ArchSpec::GetMachine(), lldb_private::Platform::GetSoftwareBreakpointTrapOpcode(), lldb_private::ArchSpec::IsValid(), and lldb_private::BreakpointSite::SetTrapOpcode().
|
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 544 of file PlatformWindows.cpp.
References lldb_private::Platform::GetStatus().
|
inlineoverridevirtual |
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 67 of file PlatformWindows.h.
References m_supported_architectures.
|
static |
Definition at line 90 of file PlatformWindows.cpp.
References g_initialize_count.
|
private |
Definition at line 600 of file PlatformWindows.cpp.
References lldb_private::Target::CreateUtilityFunction(), lldb::eBasicTypeVoid, lldb::eBasicTypeWChar, lldb::eLanguageTypeC_plus_plus, error(), lldb_private::TypeSystemClang::GetBasicType(), lldb_private::ScratchTypeSystemClang::GetForTarget(), lldb_private::CompilerType::GetPointerType(), lldb_private::ExecutionContext::GetProcessSP(), lldb_private::ExecutionContext::GetThreadSP(), lldb_private::ValueList::PushValue(), lldb_private::Value::Scalar, lldb_private::Value::SetCompilerType(), lldb_private::Status::SetErrorString(), lldb_private::Status::SetErrorStringWithFormat(), lldb_private::Value::SetValueType(), string(), and lldb_private::toString().
Referenced by DoLoadImage().
|
static |
Definition at line 107 of file PlatformWindows.cpp.
References g_initialize_count.
|
overridevirtual |
Reimplemented from lldb_private::Platform.
Definition at line 413 of file PlatformWindows.cpp.
References EvaluateLoaderExpression(), lldb_private::Status::Fail(), lldb_private::StreamString::GetData(), lldb_private::Status::GetError(), lldb_private::Process::GetImagePtrFromToken(), LLDB_INVALID_ADDRESS, lldb_private::Stream::Printf(), lldb_private::Process::ResetImageToken(), and lldb_private::Scalar::UInt().
std::vector<ArchSpec> lldb_private::PlatformWindows::m_supported_architectures |
Definition at line 83 of file PlatformWindows.h.
Referenced by GetSupportedArchitectures(), and PlatformWindows().