|
LLDB mainline
|
#include <GDBRemoteCommunicationClient.h>
Public Types | |
| enum class | xPacketState { Unimplemented , Prefixed , Bare } |
| Public Types inherited from lldb_private::process_gdb_remote::GDBRemoteClientBase | |
| enum | { eBroadcastBitRunPacketSent = (1u << 0) } |
| Public Types inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication | |
| enum class | PacketType { Invalid = 0 , Standard , Notify } |
| enum class | PacketResult { Success = 0 , ErrorSendFailed , ErrorSendAck , ErrorReplyFailed , ErrorReplyTimeout , ErrorReplyInvalid , ErrorReplyAck , ErrorDisconnected , ErrorNoSequenceLock } |
Public Member Functions | |
| GDBRemoteCommunicationClient () | |
| ~GDBRemoteCommunicationClient () override | |
| bool | HandshakeWithServer (Status *error_ptr) |
| bool | GetThreadSuffixSupported () |
| bool | QueryNoAckModeSupported () |
| void | GetListThreadsInStopReplySupported () |
| lldb::pid_t | GetCurrentProcessID (bool allow_lazy=true) |
| bool | LaunchGDBServer (const char *remote_accept_hostname, lldb::pid_t &pid, uint16_t &port, std::string &socket_name) |
| size_t | QueryGDBServer (std::vector< std::pair< uint16_t, std::string > > &connection_urls) |
| bool | KillSpawnedProcess (lldb::pid_t pid) |
| llvm::Error | LaunchProcess (const Args &args) |
| Launch the process using the provided arguments. | |
| int | SendEnvironmentPacket (char const *name_equal_value) |
| Sends a "QEnvironment:NAME=VALUE" packet that will build up the environment that will get used when launching an application in conjunction with the 'A' packet. | |
| int | SendEnvironment (const Environment &env) |
| int | SendLaunchArchPacket (const char *arch) |
| int | SendLaunchEventDataPacket (const char *data, bool *was_supported=nullptr) |
| int | SendStdinNotification (const char *data, size_t data_len, std::chrono::seconds interrupt_timeout=std::chrono::seconds(0)) |
| Sends a GDB remote protocol 'I' packet that delivers stdin data to the remote process. | |
| int | SetSTDIN (const FileSpec &file_spec) |
| Sets the path to use for stdin/out/err for a process that will be launched with the 'A' packet. | |
| int | SetSTDOUT (const FileSpec &file_spec) |
| int | SetSTDERR (const FileSpec &file_spec) |
| int | SetSTDIOWindowSize (uint16_t cols, uint16_t rows) |
| Send the dimensions of the user's stdio terminal window to the server. | |
| int | SetDisableASLR (bool enable) |
| Sets the disable ASLR flag to enable for a process that will be launched with the 'A' packet. | |
| int | SetDetachOnError (bool enable) |
| Sets the DetachOnError flag to enable for the process controlled by the stub. | |
| int | SetWorkingDir (const FileSpec &working_dir) |
| Sets the working directory to path for a process that will be launched with the 'A' packet for non platform based connections. | |
| bool | GetWorkingDir (FileSpec &working_dir) |
| Gets the current working directory of a remote platform GDB server. | |
| lldb::addr_t | AllocateMemory (size_t size, uint32_t permissions) |
| bool | DeallocateMemory (lldb::addr_t addr) |
| Status | Detach (bool keep_stopped, lldb::pid_t pid=LLDB_INVALID_PROCESS_ID) |
| Status | GetMemoryRegionInfo (lldb::addr_t addr, MemoryRegionInfo &range_info) |
| std::optional< uint32_t > | GetWatchpointSlotCount () |
| std::optional< bool > | GetWatchpointReportedAfter () |
| WatchpointHardwareFeature | GetSupportedWatchpointTypes () |
| const ArchSpec & | GetHostArchitecture () |
| std::chrono::seconds | GetHostDefaultPacketTimeout () |
| const ArchSpec & | GetProcessArchitecture () |
| bool | GetProcessStandaloneBinary (UUID &uuid, lldb::addr_t &value, bool &value_is_offset) |
| std::vector< lldb::addr_t > | GetProcessStandaloneBinaries () |
| std::vector< AddressSpaceInfo > | GetAddressSpaces () |
| Empty if the server does not support "jAddressSpacesInfo". | |
| bool | GetAddressSpacesSupported () const |
| Whether the server advertised address-space support ("address-spaces+"). | |
| void | GetRemoteQSupported () |
| bool | GetVContSupported (llvm::StringRef flavor) |
| bool | GetpPacketSupported (lldb::tid_t tid) |
| xPacketState | GetxPacketState () |
| bool | GetVAttachOrWaitSupported () |
| bool | GetSyncThreadStateSupported () |
| void | ResetDiscoverableSettings (bool did_exec) |
| bool | GetHostInfo (bool force=false) |
| bool | GetDefaultThreadId (lldb::tid_t &tid) |
| llvm::VersionTuple | GetOSVersion () |
| llvm::VersionTuple | GetMacCatalystVersion () |
| std::optional< std::string > | GetOSBuildString () |
| std::optional< std::string > | GetOSKernelDescription () |
| ArchSpec | GetSystemArchitecture () |
| lldb_private::AddressableBits | GetAddressableBits () |
| bool | GetHostname (std::string &s) |
| lldb::addr_t | GetShlibInfoAddr () |
| bool | GetProcessInfo (lldb::pid_t pid, ProcessInstanceInfo &process_info) |
| uint32_t | FindProcesses (const ProcessInstanceInfoMatch &process_match_info, ProcessInstanceInfoList &process_infos) |
| bool | GetUserName (uint32_t uid, std::string &name) |
| bool | GetGroupName (uint32_t gid, std::string &name) |
| bool | HasFullVContSupport () |
| bool | HasAnyVContSupport () |
| bool | GetStopReply (StringExtractorGDBRemote &response) |
| bool | GetThreadStopInfo (lldb::tid_t tid, StringExtractorGDBRemote &response) |
| bool | SupportsGDBStoppointPacket (GDBStoppointType type) |
| uint8_t | SendGDBStoppointTypePacket (GDBStoppointType type, bool insert, lldb::addr_t addr, uint32_t length, std::chrono::seconds interrupt_timeout) |
| void | TestPacketSpeed (const uint32_t num_packets, uint32_t max_send, uint32_t max_recv, uint64_t recv_amount, bool json, Stream &strm) |
| bool | SendSpeedTestPacket (uint32_t send_size, uint32_t recv_size) |
| std::optional< PidTid > | SendSetCurrentThreadPacket (uint64_t tid, uint64_t pid, char op) |
| bool | SetCurrentThread (uint64_t tid, lldb::pid_t pid=LLDB_INVALID_PROCESS_ID) |
| bool | SetCurrentThreadForRun (uint64_t tid, lldb::pid_t pid=LLDB_INVALID_PROCESS_ID) |
| bool | GetQXferAuxvReadSupported () |
| void | EnableErrorStringInPacket () |
| bool | GetQXferLibrariesReadSupported () |
| bool | GetQXferLibrariesSVR4ReadSupported () |
| uint64_t | GetRemoteMaxPacketSize () |
| bool | GetEchoSupported () |
| bool | GetQPassSignalsSupported () |
| bool | GetAugmentedLibrariesSVR4ReadSupported () |
| bool | GetQXferFeaturesReadSupported () |
| bool | GetQXferMemoryMapReadSupported () |
| bool | GetQXferSigInfoReadSupported () |
| bool | GetMultiprocessSupported () |
| bool | GetReverseContinueSupported () |
| bool | GetReverseStepSupported () |
| bool | GetMultiMemReadSupported () |
| bool | GetMultiBreakpointSupported () |
| bool | GetAcceleratorPluginsSupported () |
| bool | GetWasmInstanceSupported () |
| Whether the WebAssembly stub can be told which module instance to read from, which it advertises with "qWasmInstance+" in its qSupported response. | |
| llvm::Expected< std::vector< AcceleratorActions > > | GetAcceleratorInitializeActions () |
| Send the "jAcceleratorPluginInitialize" packet and return the actions requested by each accelerator plugin installed in lldb-server. | |
| std::optional< LLDBSettings > | GetLLDBSettings () |
| Return LLDB-specific settings for this GDB-remote process. | |
| llvm::Expected< AcceleratorBreakpointHitResponse > | AcceleratorBreakpointHit (const AcceleratorBreakpointHitArgs &args) |
| Send the "jAcceleratorPluginBreakpointHit" packet to notify the accelerator plugin that one of its requested breakpoints was hit, and return the plugin's response. | |
| LazyBool | SupportsAllocDeallocMemory () |
| std::vector< std::pair< lldb::pid_t, lldb::tid_t > > | GetCurrentProcessAndThreadIDs (bool &sequence_mutex_unavailable) |
| size_t | GetCurrentThreadIDs (std::vector< lldb::tid_t > &thread_ids, bool &sequence_mutex_unavailable) |
| lldb::user_id_t | OpenFile (const FileSpec &file_spec, File::OpenOptions flags, mode_t mode, Status &error) |
| bool | CloseFile (lldb::user_id_t fd, Status &error) |
| std::optional< GDBRemoteFStatData > | FStat (lldb::user_id_t fd) |
| std::optional< GDBRemoteFStatData > | Stat (const FileSpec &file_spec) |
| lldb::user_id_t | GetFileSize (const FileSpec &file_spec) |
| void | AutoCompleteDiskFileOrDirectory (CompletionRequest &request, bool only_dir) |
| Status | GetFilePermissions (const FileSpec &file_spec, uint32_t &file_permissions) |
| Status | SetFilePermissions (const FileSpec &file_spec, uint32_t file_permissions) |
| uint64_t | ReadFile (lldb::user_id_t fd, uint64_t offset, void *dst, uint64_t dst_len, Status &error) |
| uint64_t | WriteFile (lldb::user_id_t fd, uint64_t offset, const void *src, uint64_t src_len, Status &error) |
| Status | CreateSymlink (const FileSpec &src, const FileSpec &dst) |
| Status | Unlink (const FileSpec &file_spec) |
| Status | MakeDirectory (const FileSpec &file_spec, uint32_t mode) |
| bool | GetFileExists (const FileSpec &file_spec) |
| Status | RunShellCommand (llvm::StringRef command, const FileSpec &working_dir, int *status_ptr, int *signo_ptr, std::string *command_output, std::string *separated_error_output, const Timeout< std::micro > &timeout) |
| llvm::ErrorOr< llvm::MD5::MD5Result > | CalculateMD5 (const FileSpec &file_spec) |
| lldb::DataBufferSP | ReadRegister (lldb::tid_t tid, uint32_t reg_num) |
| lldb::DataBufferSP | ReadAllRegisters (lldb::tid_t tid) |
| bool | WriteRegister (lldb::tid_t tid, uint32_t reg_num, llvm::ArrayRef< uint8_t > data) |
| bool | WriteAllRegisters (lldb::tid_t tid, llvm::ArrayRef< uint8_t > data) |
| bool | SaveRegisterState (lldb::tid_t tid, uint32_t &save_id) |
| bool | RestoreRegisterState (lldb::tid_t tid, uint32_t save_id) |
| bool | SyncThreadState (lldb::tid_t tid) |
| const char * | GetGDBServerProgramName () |
| uint32_t | GetGDBServerProgramVersion () |
| bool | AvoidGPackets (ProcessGDBRemote *process) |
| StructuredData::ObjectSP | GetThreadsInfo () |
| bool | GetThreadExtendedInfoSupported () |
| bool | GetLoadedDynamicLibrariesInfosSupported () |
| bool | GetSharedCacheInfoSupported () |
| bool | GetDynamicLoaderProcessStateSupported () |
| bool | GetMemoryTaggingSupported () |
| bool | UsesNativeSignals () |
| lldb::DataBufferSP | ReadMemoryTags (lldb::addr_t addr, size_t len, int32_t type) |
| Status | WriteMemoryTags (lldb::addr_t addr, size_t len, int32_t type, const std::vector< uint8_t > &tags) |
| std::optional< QOffsets > | GetQOffsets () |
| Use qOffsets to query the offset used when relocating the target executable. | |
| bool | GetModuleInfo (const FileSpec &module_file_spec, const ArchSpec &arch_spec, ModuleSpec &module_spec) |
| std::optional< std::vector< ModuleSpec > > | GetModulesInfo (llvm::ArrayRef< FileSpec > module_file_specs, const llvm::Triple &triple) |
| llvm::Expected< std::string > | ReadExtFeature (llvm::StringRef object, llvm::StringRef annex) |
| llvm::Expected< std::string > | ReadSiginfo (lldb::tid_t tid) |
| Read the siginfo of the given thread using the qXfer:siginfo:read packet. | |
| void | ServeSymbolLookups (lldb_private::Process *process) |
| Status | SendSignalsToIgnore (llvm::ArrayRef< int32_t > signals) |
| const std::string & | GetServerSupportedFeatures () const |
| Return the feature set supported by the gdb-remote server. | |
| lldb_private::StructuredData::Array * | GetSupportedStructuredDataPlugins () |
| Return the array of async JSON packet types supported by the remote. | |
| Status | ConfigureRemoteStructuredData (llvm::StringRef type_name, const StructuredData::ObjectSP &config_sp) |
| Configure a StructuredData feature on the remote end. | |
| llvm::Expected< TraceSupportedResponse > | SendTraceSupported (std::chrono::seconds interrupt_timeout) |
| llvm::Error | SendTraceStart (const llvm::json::Value &request, std::chrono::seconds interrupt_timeout) |
| llvm::Error | SendTraceStop (const TraceStopRequest &request, std::chrono::seconds interrupt_timeout) |
| llvm::Expected< std::string > | SendTraceGetState (llvm::StringRef type, std::chrono::seconds interrupt_timeout) |
| llvm::Expected< std::vector< uint8_t > > | SendTraceGetBinaryData (const TraceGetBinaryDataRequest &request, std::chrono::seconds interrupt_timeout) |
| bool | GetSaveCoreSupported () const |
| llvm::Expected< int > | KillProcess (lldb::pid_t pid) |
| Public Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteClientBase | |
| GDBRemoteClientBase (const char *comm_name) | |
| bool | SendAsyncSignal (int signo, std::chrono::seconds interrupt_timeout) |
| bool | Interrupt (std::chrono::seconds interrupt_timeout) |
| lldb::StateType | SendContinuePacketAndWaitForResponse (ContinueDelegate &delegate, const UnixSignals &signals, llvm::StringRef payload, std::chrono::seconds interrupt_timeout, StringExtractorGDBRemote &response) |
| PacketResult | SendPacketAndWaitForResponse (llvm::StringRef payload, StringExtractorGDBRemote &response, std::chrono::seconds interrupt_timeout=std::chrono::seconds(0), bool sync_on_timeout=true) |
| PacketResult | ReadPacketWithOutputSupport (StringExtractorGDBRemote &response, Timeout< std::micro > timeout, bool sync_on_timeout, llvm::function_ref< void(llvm::StringRef)> output_callback) |
| PacketResult | SendPacketAndReceiveResponseWithOutputSupport (llvm::StringRef payload, StringExtractorGDBRemote &response, std::chrono::seconds interrupt_timeout, llvm::function_ref< void(llvm::StringRef)> output_callback) |
| llvm::Expected< StringExtractorGDBRemote > | SendPacketAndExpectResponse (llvm::StringRef payload, std::chrono::seconds interrupt_timeout=std::chrono::seconds(0)) |
| Wrapper around SendPacketAndWaitForResponse that returns an Expected. | |
| Public Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication | |
| GDBRemoteCommunication () | |
| ~GDBRemoteCommunication () override | |
| PacketResult | GetAck () |
| size_t | SendAck () |
| size_t | SendNack () |
| char | CalculcateChecksum (llvm::StringRef payload) |
| PacketType | CheckForPacket (const uint8_t *src, size_t src_len, StringExtractorGDBRemote &packet) |
| PacketType | CheckForPacketIgnoreNotifications (const uint8_t *src, size_t src_len, StringExtractorGDBRemote &packet) |
| bool | GetSendAcks () |
| std::chrono::seconds | SetPacketTimeout (std::chrono::seconds packet_timeout) |
| std::chrono::seconds | GetPacketTimeout () const |
| void | DumpHistory (Stream &strm) |
| Public Member Functions inherited from lldb_private::Communication | |
| Communication () | |
| Construct the Communication object. | |
| virtual | ~Communication () |
| Destructor. | |
| virtual void | Clear () |
| lldb::ConnectionStatus | Connect (const char *url, Status *error_ptr) |
| Connect using the current connection by passing url to its connect function. | |
| virtual lldb::ConnectionStatus | Disconnect (Status *error_ptr=nullptr) |
| Disconnect the communications connection if one is currently connected. | |
| bool | IsConnected () const |
| Check if the connection is valid. | |
| bool | HasConnection () const |
| lldb_private::Connection * | GetConnection () |
| virtual size_t | Read (void *dst, size_t dst_len, const Timeout< std::micro > &timeout, lldb::ConnectionStatus &status, Status *error_ptr) |
| Read bytes from the current connection. | |
| size_t | Write (const void *src, size_t src_len, lldb::ConnectionStatus &status, Status *error_ptr) |
| The actual write function that attempts to write to the communications protocol. | |
| size_t | WriteAll (const void *src, size_t src_len, lldb::ConnectionStatus &status, Status *error_ptr) |
| Repeatedly attempt writing until either src_len bytes are written or a permanent failure occurs. | |
| virtual void | SetConnection (std::unique_ptr< Connection > connection) |
| Sets the connection that it to be used by this class. | |
| bool | GetCloseOnEOF () const |
| void | SetCloseOnEOF (bool b) |
| Public Member Functions inherited from lldb_private::Broadcaster | |
| Broadcaster (lldb::BroadcasterManagerSP manager_sp, std::string name) | |
| Construct with a broadcaster with a name. | |
| virtual | ~Broadcaster () |
| Destructor. | |
| void | CheckInWithManager () |
| void | BroadcastEvent (lldb::EventSP &event_sp) |
| Broadcast an event which has no associated data. | |
| void | BroadcastEventIfUnique (lldb::EventSP &event_sp) |
| void | BroadcastEvent (uint32_t event_type, const lldb::EventDataSP &event_data_sp) |
| void | BroadcastEvent (uint32_t event_type) |
| void | BroadcastEventIfUnique (uint32_t event_type) |
| void | Clear () |
| virtual void | AddInitialEventsToListener (const lldb::ListenerSP &listener_sp, uint32_t requested_events) |
| uint32_t | AddListener (const lldb::ListenerSP &listener_sp, uint32_t event_mask) |
| Listen for any events specified by event_mask. | |
| const std::string & | GetBroadcasterName () |
| Get this broadcaster's name. | |
| bool | GetEventNames (Stream &s, const uint32_t event_mask, bool prefix_with_broadcaster_name) const |
| Get the event name(s) for one or more event bits. | |
| void | SetEventName (uint32_t event_mask, const char *name) |
| Set the name for an event bit. | |
| const char * | GetEventName (uint32_t event_mask) const |
| bool | EventTypeHasListeners (uint32_t event_type) |
| bool | RemoveListener (const lldb::ListenerSP &listener_sp, uint32_t event_mask=UINT32_MAX) |
| Removes a Listener from this broadcasters list and frees the event bits specified by event_mask that were previously acquired by listener (assuming listener was listening to this object) for other listener objects to use. | |
| bool | HijackBroadcaster (const lldb::ListenerSP &listener_sp, uint32_t event_mask=UINT32_MAX) |
| Provides a simple mechanism to temporarily redirect events from broadcaster. | |
| bool | IsHijackedForEvent (uint32_t event_mask) |
| void | RestoreBroadcaster () |
| Restore the state of the Broadcaster from a previous hijack attempt. | |
| virtual llvm::StringRef | GetBroadcasterClass () const |
| This needs to be filled in if you are going to register the broadcaster with the broadcaster manager and do broadcaster class matching. | |
| lldb::BroadcasterManagerSP | GetManager () |
| void | SetPrimaryListener (lldb::ListenerSP listener_sp) |
| lldb::ListenerSP | GetPrimaryListener () |
Private Member Functions | |
| GDBRemoteCommunicationClient (const GDBRemoteCommunicationClient &)=delete | |
| const GDBRemoteCommunicationClient & | operator= (const GDBRemoteCommunicationClient &)=delete |
Additional Inherited Members | |
| Static Public Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication | |
| static Status | StartDebugserverProcess (std::variant< llvm::StringRef, shared_fd_t > comm, ProcessLaunchInfo &launch_info, const Args *inferior_args) |
| static std::optional< std::string > | ExpandRLE (std::string) |
| Expand GDB run-length encoding. | |
| Static Public Member Functions inherited from lldb_private::Communication | |
| static std::string | ConnectionStatusAsString (lldb::ConnectionStatus status) |
| Protected Types inherited from lldb_private::Broadcaster | |
| typedef std::shared_ptr< BroadcasterImpl > | BroadcasterImplSP |
| typedef std::weak_ptr< BroadcasterImpl > | BroadcasterImplWP |
Definition at line 62 of file GDBRemoteCommunicationClient.h.
| Enumerator | |
|---|---|
| Unimplemented | |
| Prefixed | |
| Bare | |
Definition at line 239 of file GDBRemoteCommunicationClient.h.
| GDBRemoteCommunicationClient::GDBRemoteCommunicationClient | ( | ) |
Definition at line 65 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::process_gdb_remote::GDBRemoteClientBase::GDBRemoteClientBase(), m_default_packet_timeout, m_gdb_server_name, m_host_arch, m_host_distribution_id, m_hostname, m_os_build, m_os_kernel, m_process_arch, m_qSupported_response, m_qSymbol_requests_done, m_qXfer_memory_map, m_supported_async_json_packets_sp, m_supports_jModulesInfo, m_supports_jThreadsInfo, m_supports_QEnvironment, m_supports_QEnvironmentHexEncoded, m_supports_qfProcessInfo, m_supports_qGroupName, m_supports_qModuleInfo, m_supports_qProcessInfoPID, m_supports_qSymbol, m_supports_qThreadStopInfo, m_supports_qUserName, m_supports_vFileExists, m_supports_vFileMode, m_supports_vFileSize, m_supports_vRun, m_supports_z0, m_supports_z1, m_supports_z2, m_supports_z3, and m_supports_z4.
Referenced by GDBRemoteCommunicationClient(), and operator=().
|
override |
Definition at line 85 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Communication::Disconnect(), and lldb_private::Communication::IsConnected().
|
privatedelete |
References GDBRemoteCommunicationClient().
| llvm::Expected< AcceleratorBreakpointHitResponse > GDBRemoteCommunicationClient::AcceleratorBreakpointHit | ( | const AcceleratorBreakpointHitArgs & | args | ) |
Send the "jAcceleratorPluginBreakpointHit" packet to notify the accelerator plugin that one of its requested breakpoints was hit, and return the plugin's response.
This is only used when the lldb-server advertised accelerator plugin support via "accelerator-plugins+" in its qSupported response, since the breakpoints that trigger it are only set in that case. Errors are returned for the caller to report.
Definition at line 315 of file GDBRemoteCommunicationClient.cpp.
References StringExtractorGDBRemote::GetStatus(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractor::Peek(), lldb_private::StreamGDBRemote::PutAsJSON(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::Status::takeError().
| addr_t GDBRemoteCommunicationClient::AllocateMemory | ( | size_t | size, |
| uint32_t | permissions ) |
Definition at line 1650 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractor::GetHexMaxU64(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_INVALID_ADDRESS, m_supports_alloc_dealloc_memory, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
| void GDBRemoteCommunicationClient::AutoCompleteDiskFileOrDirectory | ( | CompletionRequest & | request, |
| bool | only_dir ) |
Definition at line 3392 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::CompletionRequest::AddCompletion(), lldb_private::StreamString::Clear(), StringExtractor::GetChar(), lldb_private::CompletionRequest::GetCursorArgumentPrefix(), StringExtractor::GetHexU8(), lldb_private::StreamString::GetString(), StringExtractor::Peek(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutHex32(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::AvoidGPackets | ( | ProcessGDBRemote * | process | ) |
Definition at line 3701 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb_private::Target::GetArchitecture(), GetGDBServerProgramName(), GetGDBServerProgramVersion(), lldb_private::Process::GetTarget(), lldb_private::ArchSpec::GetTriple(), lldb_private::ArchSpec::IsValid(), and m_avoid_g_packets.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadAllRegisterValues(), and lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteAllRegisterValues().
| llvm::ErrorOr< llvm::MD5::MD5Result > GDBRemoteCommunicationClient::CalculateMD5 | ( | const FileSpec & | file_spec | ) |
Definition at line 3635 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::process_gdb_remote::BASE_16, StringExtractor::GetChar(), StringExtractor::GetFilePos(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), StringExtractor::Peek(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), StringExtractor::SetFilePos(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::CloseFile | ( | lldb::user_id_t | fd, |
| Status & | error ) |
Definition at line 3318 of file GDBRemoteCommunicationClient.cpp.
References error(), lldb_private::StreamString::GetString(), ParseHostIOPacketResponse(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by GetFileExists(), and Stat().
| Status GDBRemoteCommunicationClient::ConfigureRemoteStructuredData | ( | llvm::StringRef | type_name, |
| const StructuredData::ObjectSP & | config_sp ) |
Configure a StructuredData feature on the remote end.
Definition at line 4510 of file GDBRemoteCommunicationClient.cpp.
References error(), lldb_private::StreamString::Flush(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormatv(), lldb_private::StreamString::GetSize(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Definition at line 3538 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, error(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), gdb_errno_to_system(), StringExtractor::GetChar(), StringExtractor::GetHexMaxU32(), lldb_private::FileSpec::GetPath(), StringExtractor::GetS32(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::Status, lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT32_MAX.
| bool GDBRemoteCommunicationClient::DeallocateMemory | ( | lldb::addr_t | addr | ) |
Definition at line 1676 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_alloc_dealloc_memory, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
|
protected |
Definition at line 2216 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Args::AppendArgument(), lldb_private::process_gdb_remote::BASE_10, lldb_private::Args::Clear(), lldb_private::eArchTypeMachO, lldb_private::ProcessInfo::GetArchitecture(), lldb_private::ProcessInfo::GetArguments(), lldb_private::ProcessInfo::GetExecutableFile(), StringExtractor::GetHexByteString(), StringExtractor::GetNameColonValue(), lldb_private::ProcessInfo::GetProcessID(), lldb_private::ArchSpec::GetTriple(), StringExtractorGDBRemote::IsNormalResponse(), LLDB_INVALID_CPUTYPE, LLDB_INVALID_PROCESS_ID, lldb_private::ArchSpec::SetArchitecture(), lldb_private::ProcessInfo::SetArg0(), lldb_private::ProcessInstanceInfo::SetEffectiveGroupID(), lldb_private::ProcessInstanceInfo::SetEffectiveUserID(), lldb_private::FileSpec::SetFile(), lldb_private::ProcessInfo::SetGroupID(), lldb_private::ProcessInstanceInfo::SetParentProcessID(), lldb_private::ProcessInfo::SetProcessID(), lldb_private::ArchSpec::SetTriple(), lldb_private::ProcessInfo::SetUserID(), and UINT32_MAX.
Referenced by FindProcesses(), and GetProcessInfo().
| Status GDBRemoteCommunicationClient::Detach | ( | bool | keep_stopped, |
| lldb::pid_t | pid = LLDB_INVALID_PROCESS_ID ) |
Definition at line 1698 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, error(), lldb_private::Status::FromErrorString(), GetCurrentProcessID(), GetMultiprocessSupported(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), LLDB_INVALID_PROCESS_ID, m_supports_detach_stay_stopped, lldb_private::Stream::PutChar(), lldb_private::Stream::PutHex64(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
| void GDBRemoteCommunicationClient::EnableErrorStringInPacket | ( | ) |
Definition at line 764 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_supports_error_string_reply, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| uint32_t GDBRemoteCommunicationClient::FindProcesses | ( | const ProcessInstanceInfoMatch & | process_match_info, |
| ProcessInstanceInfoList & | process_infos ) |
Definition at line 2505 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Contains, DecodeProcessInfoResponse(), lldb_private::ProcessInstanceInfo::EffectiveGroupIDIsValid(), lldb_private::ProcessInstanceInfo::EffectiveUserIDIsValid(), lldb_private::EndsWith, lldb_private::Equals, lldb_private::ProcessInfo::GetArchitecture(), lldb_private::ProcessInstanceInfo::GetEffectiveGroupID(), lldb_private::ProcessInstanceInfo::GetEffectiveUserID(), lldb_private::ProcessInfo::GetGroupID(), lldb_private::ProcessInstanceInfoMatch::GetMatchAllUsers(), lldb_private::ProcessInfo::GetName(), lldb_private::ProcessInstanceInfoMatch::GetNameMatchType(), lldb_private::ProcessInstanceInfo::GetParentProcessID(), lldb_private::ProcessInfo::GetProcessID(), lldb_private::ProcessInstanceInfoMatch::GetProcessInfo(), lldb_private::StreamString::GetString(), lldb_private::ArchSpec::GetTriple(), lldb_private::ProcessInfo::GetUserID(), lldb_private::ProcessInfo::GroupIDIsValid(), lldb_private::Ignore, lldb_private::ArchSpec::IsValid(), m_supports_qfProcessInfo, lldb_private::ProcessInstanceInfoMatch::MatchAllProcesses(), lldb_private::ProcessInstanceInfo::ParentProcessIDIsValid(), lldb_private::Stream::Printf(), lldb_private::ProcessInfo::ProcessIDIsValid(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::RegularExpression, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::StartsWith, lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::ProcessInfo::UserIDIsValid().
| std::optional< GDBRemoteFStatData > GDBRemoteCommunicationClient::FStat | ( | lldb::user_id_t | fd | ) |
Definition at line 3331 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetChar(), StringExtractorGDBRemote::GetEscapedBinaryData(), StringExtractor::GetS64(), lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by Stat().
| llvm::Expected< std::vector< AcceleratorActions > > GDBRemoteCommunicationClient::GetAcceleratorInitializeActions | ( | ) |
Send the "jAcceleratorPluginInitialize" packet and return the actions requested by each accelerator plugin installed in lldb-server.
The packet is only sent if the lldb-server advertised accelerator plugin support via "accelerator-plugins+" in its qSupported response; otherwise (and when no plugin returns actions) this returns an empty vector. Errors are returned for the caller to report.
Definition at line 243 of file GDBRemoteCommunicationClient.cpp.
References GetAcceleratorPluginsSupported(), StringExtractorGDBRemote::GetStatus(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), StringExtractor::Peek(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), StringExtractorGDBRemote::SetResponseValidatorToJSON(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::Status::takeError().
| bool GDBRemoteCommunicationClient::GetAcceleratorPluginsSupported | ( | ) |
Definition at line 230 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_accelerator_plugins.
Referenced by GetAcceleratorInitializeActions().
| AddressableBits GDBRemoteCommunicationClient::GetAddressableBits | ( | ) |
Definition at line 1631 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetHostInfo(), m_high_mem_addressing_bits, m_low_mem_addressing_bits, m_qHostInfo_is_valid, and lldb_private::AddressableBits::SetAddressableBits().
| std::vector< AddressSpaceInfo > GDBRemoteCommunicationClient::GetAddressSpaces | ( | ) |
Empty if the server does not support "jAddressSpacesInfo".
Definition at line 1219 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::GetLog(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_LOG_ERROR, m_supports_address_spaces, StringExtractor::Peek(), lldb_private::process_gdb_remote::Process, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), StringExtractorGDBRemote::SetResponseValidatorToJSON(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
|
inline |
Whether the server advertised address-space support ("address-spaces+").
Definition at line 231 of file GDBRemoteCommunicationClient.h.
References m_supports_address_spaces.
| bool GDBRemoteCommunicationClient::GetAugmentedLibrariesSVR4ReadSupported | ( | ) |
Definition at line 144 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_augmented_libraries_svr4_read.
| std::vector< std::pair< lldb::pid_t, lldb::tid_t > > GDBRemoteCommunicationClient::GetCurrentProcessAndThreadIDs | ( | bool & | sequence_mutex_unavailable | ) |
Definition at line 3081 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetChar(), lldb_private::GetLog(), StringExtractorGDBRemote::GetPidTid(), lldb_private::Communication::IsConnected(), StringExtractorGDBRemote::IsNormalResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_INVALID_PROCESS_ID, LLDB_LOG, lldb_private::process_gdb_remote::Packets, lldb_private::process_gdb_remote::Process, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponseNoLock(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by GetCurrentProcessID(), and GetCurrentThreadIDs().
| lldb::pid_t GDBRemoteCommunicationClient::GetCurrentProcessID | ( | bool | allow_lazy = true | ) |
Definition at line 905 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolYes, StringExtractor::GetChar(), GetCurrentProcessAndThreadIDs(), GetCurrentProcessInfo(), StringExtractor::GetHexMaxU64(), LLDB_INVALID_PROCESS_ID, m_curr_pid, m_curr_pid_is_valid, m_curr_pid_run, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by Detach(), and GetCurrentThreadIDs().
Definition at line 2335 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::process_gdb_remote::BASE_16, lldb_private::eArchTypeCOFF, lldb_private::eArchTypeELF, lldb_private::eArchTypeMachO, lldb::eByteOrderBig, lldb::eByteOrderInvalid, lldb::eByteOrderLittle, lldb::eByteOrderPDP, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, GetGDBServerVersion(), StringExtractor::GetHexByteString(), GetHostInfo(), lldb_private::GetLog(), StringExtractor::GetNameColonValue(), StringExtractor::GetU64(), StringExtractorGDBRemote::IsNormalResponse(), LLDB_INVALID_ADDRESS, LLDB_INVALID_CPUTYPE, LLDB_INVALID_PROCESS_ID, LLDB_LOGF, m_binary_addresses, m_curr_pid, m_curr_pid_is_valid, m_curr_pid_run, m_gdb_server_version, m_process_arch, m_process_standalone_uuid, m_process_standalone_value, m_process_standalone_value_is_offset, m_qProcessInfo_is_valid, lldb_private::process_gdb_remote::Packets, ParseOSType(), lldb_private::process_gdb_remote::Process, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by GetCurrentProcessID(), GetProcessArchitecture(), GetProcessStandaloneBinaries(), and GetProcessStandaloneBinary().
| size_t GDBRemoteCommunicationClient::GetCurrentThreadIDs | ( | std::vector< lldb::tid_t > & | thread_ids, |
| bool & | sequence_mutex_unavailable ) |
Definition at line 3137 of file GDBRemoteCommunicationClient.cpp.
References StringExtractorGDBRemote::AllThreads, GetCurrentProcessAndThreadIDs(), GetCurrentProcessID(), LLDB_INVALID_PROCESS_ID, and LLDB_INVALID_THREAD_ID.
| bool GDBRemoteCommunicationClient::GetDefaultThreadId | ( | lldb::tid_t & | tid | ) |
Definition at line 1363 of file GDBRemoteCommunicationClient.cpp.
References StringExtractorGDBRemote::AllProcesses, lldb_private::eLazyBoolYes, StringExtractor::GetChar(), StringExtractorGDBRemote::GetPidTid(), StringExtractorGDBRemote::IsNormalResponse(), m_curr_pid, m_curr_pid_is_valid, m_curr_pid_run, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::GetDynamicLoaderProcessStateSupported | ( | ) |
Definition at line 807 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_jGetDyldProcessState, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::GetEchoSupported | ( | ) |
Definition at line 130 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::m_supports_qEcho.
Definition at line 3604 of file GDBRemoteCommunicationClient.cpp.
References CloseFile(), lldb_private::File::eOpenOptionReadOnly, error(), StringExtractor::GetChar(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_vFileExists, OpenFile(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT64_MAX.
| Status GDBRemoteCommunicationClient::GetFilePermissions | ( | const FileSpec & | file_spec, |
| uint32_t & | file_permissions ) |
Definition at line 3418 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, error(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), gdb_errno_to_system(), StringExtractor::GetChar(), lldb_private::StreamString::GetData(), lldb_private::FileSpec::GetPath(), StringExtractor::GetS32(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_vFileMode, lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), S_IRWXG, S_IRWXO, S_IRWXU, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), Stat(), lldb_private::Status, and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| lldb::user_id_t GDBRemoteCommunicationClient::GetFileSize | ( | const FileSpec & | file_spec | ) |
Definition at line 3366 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetChar(), StringExtractor::GetHexMaxU64(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_vFileSize, lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), Stat(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT64_MAX.
| const char * GDBRemoteCommunicationClient::GetGDBServerProgramName | ( | ) |
Definition at line 1349 of file GDBRemoteCommunicationClient.cpp.
References GetGDBServerVersion(), and m_gdb_server_name.
Referenced by AvoidGPackets().
| uint32_t GDBRemoteCommunicationClient::GetGDBServerProgramVersion | ( | ) |
Definition at line 1357 of file GDBRemoteCommunicationClient.cpp.
References GetGDBServerVersion(), and m_gdb_server_version.
Referenced by AvoidGPackets().
|
protected |
Definition at line 1247 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::process_gdb_remote::BASE_10, lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractor::GetNameColonValue(), StringExtractorGDBRemote::IsNormalResponse(), m_gdb_server_name, m_gdb_server_version, m_qGDBServerVersion_is_valid, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by GetCurrentProcessInfo(), GetGDBServerProgramName(), and GetGDBServerProgramVersion().
| bool GDBRemoteCommunicationClient::GetGroupName | ( | uint32_t | gid, |
| std::string & | name ) |
Definition at line 2627 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetHexByteString(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsNormalResponse(), m_supports_qGroupName, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
| const lldb_private::ArchSpec & GDBRemoteCommunicationClient::GetHostArchitecture | ( | ) |
Definition at line 1625 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetHostInfo(), m_host_arch, and m_qHostInfo_is_valid.
Referenced by GetWorkingDir().
| seconds GDBRemoteCommunicationClient::GetHostDefaultPacketTimeout | ( | ) |
Definition at line 1644 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetHostInfo(), m_default_packet_timeout, and m_qHostInfo_is_valid.
Definition at line 1407 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::process_gdb_remote::BASE_10, lldb_private::eArchTypeMachO, lldb::eByteOrderBig, lldb::eByteOrderInvalid, lldb::eByteOrderLittle, lldb::eByteOrderPDP, lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractor::GetHexByteString(), lldb_private::GetLog(), StringExtractor::GetNameColonValue(), StringExtractorGDBRemote::IsNormalResponse(), LLDB_INVALID_CPUTYPE, LLDB_LOGF, m_default_packet_timeout, m_high_mem_addressing_bits, m_host_arch, m_host_distribution_id, m_hostname, m_low_mem_addressing_bits, m_maccatalyst_version, m_os_build, m_os_kernel, m_os_version, m_qHostInfo_is_valid, m_target_vm_page_size, m_watchpoints_trigger_after_instruction, ParseOSType(), lldb_private::process_gdb_remote::Process, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SetPacketTimeout(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by GetAddressableBits(), GetCurrentProcessInfo(), GetHostArchitecture(), GetHostDefaultPacketTimeout(), GetHostname(), GetMacCatalystVersion(), GetOSBuildString(), GetOSKernelDescription(), GetOSVersion(), GetSystemArchitecture(), and GetWatchpointReportedAfter().
| bool GDBRemoteCommunicationClient::GetHostname | ( | std::string & | s | ) |
Definition at line 1171 of file GDBRemoteCommunicationClient.cpp.
References GetHostInfo(), and m_hostname.
| void GDBRemoteCommunicationClient::GetListThreadsInStopReplySupported | ( | ) |
Definition at line 368 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_supports_threads_in_stop_reply, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| std::optional< LLDBSettings > GDBRemoteCommunicationClient::GetLLDBSettings | ( | ) |
Return LLDB-specific settings for this GDB-remote process.
Only sent when the server advertises "lldb-settings+" in response to the "qSupported" packet.
Definition at line 279 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb_private::GetLog(), GetRemoteQSupported(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_LOG_ERROR, m_lldb_settings, m_supports_lldb_settings, StringExtractor::Peek(), lldb_private::process_gdb_remote::Process, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), StringExtractorGDBRemote::SetResponseValidatorToJSON(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::GetLoadedDynamicLibrariesInfosSupported | ( | ) |
Definition at line 779 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_supports_jLoadedDynamicLibrariesInfos, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| llvm::VersionTuple GDBRemoteCommunicationClient::GetMacCatalystVersion | ( | ) |
Definition at line 1149 of file GDBRemoteCommunicationClient.cpp.
References GetHostInfo(), and m_maccatalyst_version.
| Status GDBRemoteCommunicationClient::GetMemoryRegionInfo | ( | lldb::addr_t | addr, |
| lldb_private::MemoryRegionInfo & | region_info ) |
Definition at line 1751 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::process_gdb_remote::BASE_10, lldb_private::process_gdb_remote::BASE_16, lldb_private::MemoryRegionInfo::Clear(), lldb_private::Range< B, S >::Contains(), lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::eResponse, error(), lldb_private::Status::FromErrorString(), lldb_private::MemoryRegionInfo::GetBlocksize(), lldb_private::MemoryRegionInfo::GetFlash(), StringExtractor::GetHexByteString(), StringExtractor::GetNameColonValue(), GetQXferMemoryMapRegionInfo(), lldb_private::MemoryRegionInfo::GetRange(), lldb_private::Range< B, S >::GetRangeBase(), lldb_private::Range< B, S >::GetRangeEnd(), StringExtractorGDBRemote::GetResponseType(), lldb_private::Range< B, S >::IsValid(), LLDB_INVALID_ADDRESS, m_supports_memory_region_info, m_target_vm_page_size, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::MemoryRegionInfo::SetBlocksize(), lldb_private::Range< B, S >::SetByteSize(), lldb_private::MemoryRegionInfo::SetDirtyPageList(), lldb_private::MemoryRegionInfo::SetExecutable(), lldb_private::MemoryRegionInfo::SetFlash(), lldb_private::MemoryRegionInfo::SetIsShadowStack(), lldb_private::MemoryRegionInfo::SetIsStackMemory(), lldb_private::MemoryRegionInfo::SetMapped(), lldb_private::MemoryRegionInfo::SetMemoryTagged(), lldb_private::MemoryRegionInfo::SetName(), lldb_private::MemoryRegionInfo::SetPageSize(), lldb_private::MemoryRegionInfo::SetProtectionKey(), lldb_private::Range< B, S >::SetRangeBase(), lldb_private::Range< B, S >::SetRangeEnd(), lldb_private::MemoryRegionInfo::SetReadable(), lldb_private::MemoryRegionInfo::SetWritable(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, lldb_private::Status::Success(), and UNUSED_IF_ASSERT_DISABLED.
| bool GDBRemoteCommunicationClient::GetMemoryTaggingSupported | ( | ) |
Definition at line 820 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_memory_tagging.
| bool GDBRemoteCommunicationClient::GetModuleInfo | ( | const FileSpec & | module_file_spec, |
| const ArchSpec & | arch_spec, | ||
| ModuleSpec & | module_spec ) |
Definition at line 4042 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::process_gdb_remote::BASE_16, lldb_private::ModuleSpec::Clear(), lldb_private::ModuleSpec::GetArchitecture(), lldb_private::ModuleSpec::GetFileSpec(), StringExtractor::GetHexByteString(), StringExtractor::GetNameColonValue(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), lldb_private::ArchSpec::GetTriple(), lldb_private::ModuleSpec::GetUUID(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_qModuleInfo, lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::UUID::SetFromStringRef(), lldb_private::ModuleSpec::SetObjectOffset(), lldb_private::ModuleSpec::SetObjectSize(), lldb_private::ArchSpec::SetTriple(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| std::optional< std::vector< ModuleSpec > > GDBRemoteCommunicationClient::GetModulesInfo | ( | llvm::ArrayRef< FileSpec > | module_file_specs, |
| const llvm::Triple & | triple ) |
Definition at line 4142 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Stream::AsRawOstream(), lldb_private::StructuredData::Array::GetItemAtIndex(), lldb_private::StreamString::GetSize(), lldb_private::StructuredData::Array::GetSize(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_jModulesInfo, lldb_private::StructuredData::ParseJSON(), ParseModuleSpec(), lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::GetMultiBreakpointSupported | ( | ) |
Definition at line 224 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_multi_breakpoint.
| bool GDBRemoteCommunicationClient::GetMultiMemReadSupported | ( | ) |
Definition at line 218 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_multi_mem_read.
| bool GDBRemoteCommunicationClient::GetMultiprocessSupported | ( | ) |
Definition at line 193 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), m_supports_memory_tagging, and m_supports_multiprocess.
Referenced by Detach().
| std::optional< std::string > GDBRemoteCommunicationClient::GetOSBuildString | ( | ) |
Definition at line 1154 of file GDBRemoteCommunicationClient.cpp.
References GetHostInfo(), and m_os_build.
| std::optional< std::string > GDBRemoteCommunicationClient::GetOSKernelDescription | ( | ) |
Definition at line 1163 of file GDBRemoteCommunicationClient.cpp.
References GetHostInfo(), and m_os_kernel.
| llvm::VersionTuple GDBRemoteCommunicationClient::GetOSVersion | ( | ) |
Definition at line 1144 of file GDBRemoteCommunicationClient.cpp.
References GetHostInfo(), and m_os_version.
| bool GDBRemoteCommunicationClient::GetpPacketSupported | ( | lldb::tid_t | tid | ) |
Definition at line 708 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetThreadPacketSupported(), and m_supports_p.
Referenced by lldb_private::process_gdb_remote::ThreadGDBRemote::CreateRegisterContextForFrame().
| const lldb_private::ArchSpec & GDBRemoteCommunicationClient::GetProcessArchitecture | ( | ) |
Definition at line 1189 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetCurrentProcessInfo(), m_process_arch, and m_qProcessInfo_is_valid.
| bool GDBRemoteCommunicationClient::GetProcessInfo | ( | lldb::pid_t | pid, |
| ProcessInstanceInfo & | process_info ) |
Definition at line 2313 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::ProcessInstanceInfo::Clear(), DecodeProcessInfoResponse(), m_supports_qProcessInfoPID, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
| std::vector< addr_t > GDBRemoteCommunicationClient::GetProcessStandaloneBinaries | ( | ) |
Definition at line 1213 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetCurrentProcessInfo(), m_binary_addresses, and m_qProcessInfo_is_valid.
| bool GDBRemoteCommunicationClient::GetProcessStandaloneBinary | ( | UUID & | uuid, |
| lldb::addr_t & | value, | ||
| bool & | value_is_offset ) |
Definition at line 1195 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetCurrentProcessInfo(), LLDB_INVALID_ADDRESS, m_process_standalone_uuid, m_process_standalone_value, m_process_standalone_value_is_offset, and m_qProcessInfo_is_valid.
| std::optional< QOffsets > GDBRemoteCommunicationClient::GetQOffsets | ( | ) |
Use qOffsets to query the offset used when relocating the target executable.
If successful, the returned structure will contain at least one value in the offsets field.
Definition at line 4002 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsNormalResponse(), lldb_private::process_gdb_remote::QOffsets::offsets, lldb_private::process_gdb_remote::QOffsets::segments, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::GetQPassSignalsSupported | ( | ) |
Definition at line 137 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_QPassSignals.
| bool GDBRemoteCommunicationClient::GetQXferAuxvReadSupported | ( | ) |
Definition at line 165 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_qXfer_auxv_read.
| bool GDBRemoteCommunicationClient::GetQXferFeaturesReadSupported | ( | ) |
Definition at line 172 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_qXfer_features_read.
| bool GDBRemoteCommunicationClient::GetQXferLibrariesReadSupported | ( | ) |
Definition at line 158 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_qXfer_libraries_read.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetLoadedModuleList().
| bool GDBRemoteCommunicationClient::GetQXferLibrariesSVR4ReadSupported | ( | ) |
Definition at line 151 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_qXfer_libraries_svr4_read.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetLoadedModuleList().
| bool GDBRemoteCommunicationClient::GetQXferMemoryMapReadSupported | ( | ) |
Definition at line 179 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_qXfer_memory_map_read.
Referenced by LoadQXferMemoryMap().
|
protected |
Definition at line 1914 of file GDBRemoteCommunicationClient.cpp.
References error(), lldb_private::Status::FromErrorString(), LoadQXferMemoryMap(), and m_qXfer_memory_map.
Referenced by GetMemoryRegionInfo().
| bool GDBRemoteCommunicationClient::GetQXferSigInfoReadSupported | ( | ) |
Definition at line 186 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_qXfer_siginfo_read.
Referenced by lldb_private::process_gdb_remote::ThreadGDBRemote::GetSiginfo().
| uint64_t GDBRemoteCommunicationClient::GetRemoteMaxPacketSize | ( | ) |
Definition at line 199 of file GDBRemoteCommunicationClient.cpp.
References GetRemoteQSupported(), and m_max_packet_size.
Referenced by ReadExtFeature().
| void GDBRemoteCommunicationClient::GetRemoteQSupported | ( | ) |
Definition at line 487 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractor::GetHexMaxU64(), lldb_private::GetLog(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), LLDB_LOGF, m_max_packet_size, m_qSupported_response, m_supports_accelerator_plugins, m_supports_address_spaces, m_supports_augmented_libraries_svr4_read, m_supports_lldb_settings, m_supports_memory_tagging, m_supports_multi_breakpoint, m_supports_multi_mem_read, m_supports_multiprocess, lldb_private::process_gdb_remote::GDBRemoteCommunication::m_supports_qEcho, m_supports_QPassSignals, m_supports_qSaveCore, m_supports_qXfer_auxv_read, m_supports_qXfer_features_read, m_supports_qXfer_libraries_read, m_supports_qXfer_libraries_svr4_read, m_supports_qXfer_memory_map_read, m_supports_qXfer_siginfo_read, m_supports_reverse_continue, m_supports_reverse_step, m_supports_wasm_instance, m_uses_native_signals, m_watchpoint_types, m_x_packet_state, MaybeEnableCompression(), Prefixed, lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT64_MAX.
Referenced by GetAcceleratorPluginsSupported(), GetAugmentedLibrariesSVR4ReadSupported(), GetEchoSupported(), GetLLDBSettings(), GetMemoryTaggingSupported(), GetMultiBreakpointSupported(), GetMultiMemReadSupported(), GetMultiprocessSupported(), GetQPassSignalsSupported(), GetQXferAuxvReadSupported(), GetQXferFeaturesReadSupported(), GetQXferLibrariesReadSupported(), GetQXferLibrariesSVR4ReadSupported(), GetQXferMemoryMapReadSupported(), GetQXferSigInfoReadSupported(), GetRemoteMaxPacketSize(), GetReverseContinueSupported(), GetReverseStepSupported(), GetWasmInstanceSupported(), GetxPacketState(), and UsesNativeSignals().
| bool GDBRemoteCommunicationClient::GetReverseContinueSupported | ( | ) |
Definition at line 206 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_reverse_continue.
| bool GDBRemoteCommunicationClient::GetReverseStepSupported | ( | ) |
Definition at line 212 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_reverse_step.
| bool GDBRemoteCommunicationClient::GetSaveCoreSupported | ( | ) | const |
Definition at line 727 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolYes, and m_supports_qSaveCore.
|
inline |
Return the feature set supported by the gdb-remote server.
This method returns the remote side's response to the qSupported packet. The response is the complete string payload returned to the client.
Definition at line 540 of file GDBRemoteCommunicationClient.h.
References m_qSupported_response.
| bool GDBRemoteCommunicationClient::GetSharedCacheInfoSupported | ( | ) |
Definition at line 793 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_supports_jGetSharedCacheInfo, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| lldb::addr_t GDBRemoteCommunicationClient::GetShlibInfoAddr | ( | ) |
Definition at line 3158 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetHexMaxU64(), StringExtractorGDBRemote::IsNormalResponse(), LLDB_INVALID_ADDRESS, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::GetStopReply | ( | StringExtractorGDBRemote & | response | ) |
| StructuredData::Array * GDBRemoteCommunicationClient::GetSupportedStructuredDataPlugins | ( | ) |
Return the array of async JSON packet types supported by the remote.
This method returns the remote side's array of supported JSON packet types as a list of type names. Each of the results are expected to have an Enable{type_name} command to enable and configure the related feature. Each type_name for an enabled feature will possibly send async-style packets that contain a payload of a binhex-encoded JSON dictionary. The dictionary will have a string field named 'type', that contains the type_name of the supported packet type.
There is a Plugin category called structured-data plugins. A plugin indicates whether it knows how to handle a type_name. If so, it can be used to process the async JSON packet.
Definition at line 4443 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetData(), lldb_private::GetLog(), StringExtractor::GetStringRef(), LLDB_LOGF, m_supported_async_json_packets_is_valid, m_supported_async_json_packets_sp, lldb_private::StructuredData::ParseJSON(), lldb_private::process_gdb_remote::Process, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| WatchpointHardwareFeature GDBRemoteCommunicationClient::GetSupportedWatchpointTypes | ( | ) |
Definition at line 2045 of file GDBRemoteCommunicationClient.cpp.
References m_watchpoint_types.
| bool GDBRemoteCommunicationClient::GetSyncThreadStateSupported | ( | ) |
Definition at line 395 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_prepare_for_reg_writing_reply, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by SyncThreadState().
| ArchSpec GDBRemoteCommunicationClient::GetSystemArchitecture | ( | ) |
Definition at line 1182 of file GDBRemoteCommunicationClient.cpp.
References GetHostInfo(), and m_host_arch.
| bool GDBRemoteCommunicationClient::GetThreadExtendedInfoSupported | ( | ) |
Definition at line 750 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_supports_jThreadExtendedInfo, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
|
protected |
Definition at line 714 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsNormalResponse(), lldb_private::Stream::PutCString(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by GetpPacketSupported().
| StructuredData::ObjectSP GDBRemoteCommunicationClient::GetThreadsInfo | ( | ) |
Definition at line 731 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::Empty(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_jThreadsInfo, lldb_private::StructuredData::ParseJSON(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), StringExtractorGDBRemote::SetResponseValidatorToJSON(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::GetThreadStopInfo | ( | lldb::tid_t | tid, |
| StringExtractorGDBRemote & | response ) |
Definition at line 2996 of file GDBRemoteCommunicationClient.cpp.
References StringExtractorGDBRemote::IsNormalResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_qThreadStopInfo, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
| bool GDBRemoteCommunicationClient::GetThreadSuffixSupported | ( | ) |
Definition at line 618 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_supports_thread_suffix, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by SendThreadSpecificPacketAndWaitForResponse(), and UsesNativeSignals().
| bool GDBRemoteCommunicationClient::GetUserName | ( | uint32_t | uid, |
| std::string & | name ) |
Definition at line 2600 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetHexByteString(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsNormalResponse(), m_supports_qUserName, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
| bool GDBRemoteCommunicationClient::GetVAttachOrWaitSupported | ( | ) |
Definition at line 381 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_attach_or_wait_reply, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::GetVContSupported | ( | llvm::StringRef | flavor | ) |
Definition at line 631 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractor::GetStringRef(), m_supports_vCont_all, m_supports_vCont_any, m_supports_vCont_C, m_supports_vCont_c, m_supports_vCont_S, m_supports_vCont_s, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by HasAnyVContSupport(), and HasFullVContSupport().
| bool GDBRemoteCommunicationClient::GetWasmInstanceSupported | ( | ) |
Whether the WebAssembly stub can be told which module instance to read from, which it advertises with "qWasmInstance+" in its qSupported response.
Definition at line 236 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_wasm_instance.
| std::optional< bool > GDBRemoteCommunicationClient::GetWatchpointReportedAfter | ( | ) |
Definition at line 2049 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, GetHostInfo(), m_qHostInfo_is_valid, and m_watchpoints_trigger_after_instruction.
| std::optional< uint32_t > GDBRemoteCommunicationClient::GetWatchpointSlotCount | ( | ) |
Definition at line 2014 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::process_gdb_remote::BASE_10, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractor::GetNameColonValue(), m_num_supported_hardware_watchpoints, m_supports_watchpoint_support_info, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Gets the current working directory of a remote platform GDB server.
| [out] | working_dir | The current working directory on the remote platform. |
Definition at line 2146 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetHexByteString(), GetHostArchitecture(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::FileSpec::SetFile(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| GDBRemoteCommunicationClient::xPacketState GDBRemoteCommunicationClient::GetxPacketState | ( | ) |
Definition at line 890 of file GDBRemoteCommunicationClient.cpp.
References Bare, GetRemoteQSupported(), StringExtractorGDBRemote::IsOKResponse(), m_x_packet_state, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and Unimplemented.
Definition at line 90 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), lldb_private::Communication::IsConnected(), QueryNoAckModeSupported(), ResetDiscoverableSettings(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::SendAck().
|
inline |
Definition at line 285 of file GDBRemoteCommunicationClient.h.
References GetVContSupported().
|
inline |
Definition at line 283 of file GDBRemoteCommunicationClient.h.
References GetVContSupported().
| llvm::Expected< int > GDBRemoteCommunicationClient::KillProcess | ( | lldb::pid_t | pid | ) |
Definition at line 4575 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetChar(), StringExtractor::GetHexU8(), lldb_private::process_gdb_remote::GDBRemoteCommunication::GetPacketTimeout(), StringExtractor::GetStringRef(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::KillSpawnedProcess | ( | lldb::pid_t | pid | ) |
Definition at line 2913 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::LaunchGDBServer | ( | const char * | remote_accept_hostname, |
| lldb::pid_t & | pid, | ||
| uint16_t & | port, | ||
| std::string & | socket_name ) |
Definition at line 2824 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::process_gdb_remote::BASE_10, StringExtractor::GetHexByteString(), StringExtractor::GetNameColonValue(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsErrorResponse(), LLDB_INVALID_PROCESS_ID, lldb_private::Stream::Printf(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| llvm::Error GDBRemoteCommunicationClient::LaunchProcess | ( | const Args & | args | ) |
Launch the process using the provided arguments.
| [in] | args | A list of program arguments. The first entry is the program being run. |
Definition at line 954 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Stream::Format(), lldb_private::Args::GetArgumentAtIndex(), StringExtractor::GetChar(), StringExtractorGDBRemote::GetStatus(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_vRun, lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::Status::ToError().
|
protected |
Definition at line 1929 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolYes, error(), lldb_private::XMLNode::ForEachChildElement(), lldb_private::Status::FromError(), lldb_private::Status::FromErrorString(), lldb_private::XMLNode::GetAttributeValue(), lldb_private::XMLNode::GetAttributeValueAsUnsigned(), lldb_private::XMLNode::GetElementTextAsUnsigned(), lldb_private::XMLNode::GetName(), GetQXferMemoryMapReadSupported(), lldb_private::MemoryRegionInfo::GetRange(), lldb_private::XMLDocument::GetRootElement(), lldb_private::XMLNode::IsElement(), m_qXfer_memory_map, m_qXfer_memory_map_loaded, lldb_private::XMLDocument::ParseMemory(), ReadExtFeature(), lldb_private::MemoryRegionInfo::SetBlocksize(), lldb_private::Range< B, S >::SetByteSize(), lldb_private::MemoryRegionInfo::SetFlash(), lldb_private::Range< B, S >::SetRangeBase(), lldb_private::MemoryRegionInfo::SetReadable(), lldb_private::MemoryRegionInfo::SetWritable(), and lldb_private::XMLDocument::XMLEnabled().
Referenced by GetQXferMemoryMapRegionInfo().
Definition at line 3222 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, lldb_private::Status::FromErrorStringWithFormat(), StringExtractor::GetChar(), StringExtractor::GetHexMaxU32(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutHex32(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::Status, lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT32_MAX.
|
protected |
Definition at line 1278 of file GDBRemoteCommunicationClient.cpp.
References StringExtractorGDBRemote::IsOKResponse(), lldb_private::process_gdb_remote::LZ4, lldb_private::process_gdb_remote::LZFSE, lldb_private::process_gdb_remote::LZMA, lldb_private::process_gdb_remote::GDBRemoteCommunication::m_compression_type, lldb_private::process_gdb_remote::None, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::process_gdb_remote::ZlibDeflate.
Referenced by GetRemoteQSupported().
|
overrideprotectedvirtual |
Reimplemented from lldb_private::process_gdb_remote::GDBRemoteClientBase.
Definition at line 4559 of file GDBRemoteCommunicationClient.cpp.
References LLDB_INVALID_THREAD_ID, m_curr_tid, and lldb_private::process_gdb_remote::GDBRemoteClientBase::OnRunPacketSent().
| lldb::user_id_t GDBRemoteCommunicationClient::OpenFile | ( | const FileSpec & | file_spec, |
| File::OpenOptions | flags, | ||
| mode_t | mode, | ||
| Status & | error ) |
Definition at line 3297 of file GDBRemoteCommunicationClient.cpp.
References error(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), ParseHostIOPacketResponse(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutHex32(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT64_MAX.
Referenced by GetFileExists(), and Stat().
|
privatedelete |
References GDBRemoteCommunicationClient().
| size_t GDBRemoteCommunicationClient::QueryGDBServer | ( | std::vector< std::pair< uint16_t, std::string > > & | connection_urls | ) |
Definition at line 2872 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StructuredData::Array::GetItemAtIndexAsDictionary(), lldb_private::StructuredData::Array::GetSize(), StringExtractor::GetStringRef(), lldb_private::StructuredData::Dictionary::GetValueForKey(), lldb_private::StructuredData::ParseJSON(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::QueryNoAckModeSupported | ( | ) |
Definition at line 344 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb_private::process_gdb_remote::GDBRemoteCommunication::GetPacketTimeout(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::m_send_acks, m_supports_not_sending_acks, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by HandshakeWithServer().
| DataBufferSP GDBRemoteCommunicationClient::ReadAllRegisters | ( | lldb::tid_t | tid | ) |
Definition at line 3743 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetHexBytes(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsNormalResponse(), lldb_private::Stream::PutChar(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadAllRegisterValues(), and lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadRegisterBytes().
| llvm::Expected< std::string > GDBRemoteCommunicationClient::ReadExtFeature | ( | llvm::StringRef | object, |
| llvm::StringRef | annex ) |
Definition at line 4201 of file GDBRemoteCommunicationClient.cpp.
References GetRemoteMaxPacketSize(), StringExtractor::GetStringRef(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetLoadedModuleList(), LoadQXferMemoryMap(), and ReadSiginfo().
| uint64_t GDBRemoteCommunicationClient::ReadFile | ( | lldb::user_id_t | fd, |
| uint64_t | offset, | ||
| void * | dst, | ||
| uint64_t | dst_len, | ||
| Status & | error ) |
Definition at line 3466 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, error(), lldb_private::Status::FromErrorString(), gdb_errno_to_system(), StringExtractor::GetChar(), StringExtractorGDBRemote::GetEscapedBinaryData(), StringExtractor::GetS32(), StringExtractor::GetS64(), lldb_private::StreamString::GetString(), StringExtractor::Peek(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::Status, and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| DataBufferSP GDBRemoteCommunicationClient::ReadMemoryTags | ( | lldb::addr_t | addr, |
| size_t | len, | ||
| int32_t | type ) |
Definition at line 827 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetBytesLeft(), StringExtractor::GetChar(), StringExtractor::GetHexBytesAvail(), lldb_private::GetLog(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsNormalResponse(), LLDB_LOGF, lldb_private::process_gdb_remote::Memory, lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| DataBufferSP GDBRemoteCommunicationClient::ReadRegister | ( | lldb::tid_t | tid, |
| uint32_t | reg_num ) |
Definition at line 3727 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetHexBytes(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsNormalResponse(), lldb_private::Stream::Printf(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::GetPrimordialRegister().
| llvm::Expected< std::string > GDBRemoteCommunicationClient::ReadSiginfo | ( | lldb::tid_t | tid | ) |
Read the siginfo of the given thread using the qXfer:siginfo:read packet.
Definition at line 4258 of file GDBRemoteCommunicationClient.cpp.
References ReadExtFeature(), and SetCurrentThread().
Referenced by lldb_private::process_gdb_remote::ThreadGDBRemote::GetSiginfo().
| void GDBRemoteCommunicationClient::ResetDiscoverableSettings | ( | bool | did_exec | ) |
Definition at line 409 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, m_attach_or_wait_reply, m_avoid_g_packets, m_curr_pid_is_valid, m_default_packet_timeout, m_gdb_server_name, m_gdb_server_version, m_host_arch, m_host_distribution_id, m_hostname, m_lldb_settings, m_max_packet_size, m_os_build, m_os_kernel, m_os_version, m_prepare_for_reg_writing_reply, m_process_arch, m_qGDBServerVersion_is_valid, m_qHostInfo_is_valid, m_qProcessInfo_is_valid, m_qSupported_response, m_qSymbol_requests_done, m_supported_async_json_packets_is_valid, m_supported_async_json_packets_sp, m_supports_accelerator_plugins, m_supports_address_spaces, m_supports_alloc_dealloc_memory, m_supports_augmented_libraries_svr4_read, m_supports_jModulesInfo, m_supports_lldb_settings, m_supports_memory_region_info, m_supports_multi_breakpoint, m_supports_multi_mem_read, m_supports_multiprocess, m_supports_not_sending_acks, m_supports_p, m_supports_QEnvironment, m_supports_QEnvironmentHexEncoded, m_supports_qfProcessInfo, m_supports_qGroupName, m_supports_qModuleInfo, m_supports_qProcessInfoPID, m_supports_qSaveCore, m_supports_QSaveRegisterState, m_supports_qSymbol, m_supports_qThreadStopInfo, m_supports_qUserName, m_supports_qXfer_auxv_read, m_supports_qXfer_features_read, m_supports_qXfer_libraries_read, m_supports_qXfer_libraries_svr4_read, m_supports_qXfer_memory_map_read, m_supports_qXfer_siginfo_read, m_supports_reverse_continue, m_supports_reverse_step, m_supports_thread_suffix, m_supports_threads_in_stop_reply, m_supports_vCont_C, m_supports_vCont_c, m_supports_vCont_S, m_supports_vCont_s, m_supports_wasm_instance, m_supports_z0, m_supports_z1, m_supports_z2, m_supports_z3, m_supports_z4, m_target_vm_page_size, m_uses_native_signals, m_x_packet_state, and UINT32_MAX.
Referenced by HandshakeWithServer().
| bool GDBRemoteCommunicationClient::RestoreRegisterState | ( | lldb::tid_t | tid, |
| uint32_t | save_id ) |
Definition at line 3810 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolNo, StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_QSaveRegisterState, lldb_private::Stream::Printf(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteAllRegisterValues().
| lldb_private::Status GDBRemoteCommunicationClient::RunShellCommand | ( | llvm::StringRef | command, |
| const FileSpec & | working_dir, | ||
| int * | status_ptr, | ||
| int * | signo_ptr, | ||
| std::string * | command_output, | ||
| std::string * | separated_error_output, | ||
| const Timeout< std::micro > & | timeout ) |
Definition at line 3167 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Status::FromErrorString(), StringExtractor::GetChar(), StringExtractorGDBRemote::GetEscapedBinaryData(), StringExtractor::GetHexMaxU32(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutHex32(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::Status, lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT32_MAX.
| bool GDBRemoteCommunicationClient::SaveRegisterState | ( | lldb::tid_t | tid, |
| uint32_t & | save_id ) |
Definition at line 3785 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractor::GetU32(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_QSaveRegisterState, lldb_private::Stream::PutCString(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadAllRegisterValues().
| int GDBRemoteCommunicationClient::SendEnvironment | ( | const Environment & | env | ) |
Definition at line 1019 of file GDBRemoteCommunicationClient.cpp.
References SendEnvironmentPacket().
| int GDBRemoteCommunicationClient::SendEnvironmentPacket | ( | char const * | name_equal_value | ) |
Sends a "QEnvironment:NAME=VALUE" packet that will build up the environment that will get used when launching an application in conjunction with the 'A' packet.
This function can be called multiple times in a row in order to pass on the desired environment that the inferior should be launched with.
| [in] | name_equal_value | A null-terminated C string that contains a single environment in the format "NAME=VALUE". |
Definition at line 1032 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_QEnvironment, m_supports_QEnvironmentHexEncoded, lldb_private::Stream::Printf(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by SendEnvironment().
| uint8_t GDBRemoteCommunicationClient::SendGDBStoppointTypePacket | ( | GDBStoppointType | type, |
| bool | insert, | ||
| lldb::addr_t | addr, | ||
| uint32_t | length, | ||
| std::chrono::seconds | interrupt_timeout ) |
Definition at line 3019 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Breakpoints, lldb_private::process_gdb_remote::eBreakpointHardware, lldb_private::process_gdb_remote::eBreakpointSoftware, lldb_private::process_gdb_remote::eStoppointInvalid, lldb_private::process_gdb_remote::eWatchpointRead, lldb_private::process_gdb_remote::eWatchpointReadWrite, lldb_private::process_gdb_remote::eWatchpointWrite, StringExtractorGDBRemote::GetError(), lldb_private::GetLog(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_LOGF, m_supports_z0, m_supports_z1, m_supports_z2, m_supports_z3, m_supports_z4, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), StringExtractorGDBRemote::SetResponseValidatorToOKErrorNotSupported(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, SupportsGDBStoppointPacket(), and UNUSED_IF_ASSERT_DISABLED.
|
protected |
| int GDBRemoteCommunicationClient::SendLaunchArchPacket | ( | const char * | arch | ) |
Definition at line 1099 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| int GDBRemoteCommunicationClient::SendLaunchEventDataPacket | ( | const char * | data, |
| bool * | was_supported = nullptr ) |
Definition at line 1116 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| std::optional< PidTid > GDBRemoteCommunicationClient::SendSetCurrentThreadPacket | ( | uint64_t | tid, |
| uint64_t | pid, | ||
| char | op ) |
Definition at line 2926 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetString(), lldb_private::Communication::IsConnected(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_INVALID_PROCESS_ID, lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT64_MAX.
Referenced by SetCurrentThread(), and SetCurrentThreadForRun().
| Status GDBRemoteCommunicationClient::SendSignalsToIgnore | ( | llvm::ArrayRef< int32_t > | signals | ) |
Definition at line 4489 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Status::FromErrorString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::Status, and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::SendSpeedTestPacket | ( | uint32_t | send_size, |
| uint32_t | recv_size ) |
Definition at line 2814 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetString(), MakeSpeedTestPacket(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by TestPacketSpeed().
| int GDBRemoteCommunicationClient::SendStdinNotification | ( | const char * | data, |
| size_t | data_len, | ||
| std::chrono::seconds | interrupt_timeout = std::chrono::seconds(0) ) |
Sends a GDB remote protocol 'I' packet that delivers stdin data to the remote process.
| [in] | data | A pointer to stdin data. |
| [in] | data_len | The number of bytes available at data. |
| [in] | interrupt_timeout | If the inferior is running, how long to wait for a \x03 BREAK to interrupt it before giving up. Pass zero only when the caller knows the inferior is stopped. |
Definition at line 1610 of file GDBRemoteCommunicationClient.cpp.
References StringExtractorGDBRemote::GetError(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
|
protected |
Definition at line 681 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::process_gdb_remote::GDBRemoteCommunication::ErrorNoSequenceLock, lldb_private::process_gdb_remote::GDBRemoteCommunication::ErrorSendFailed, lldb_private::GetLog(), GetThreadSuffixSupported(), LLDB_LOGF, lldb_private::process_gdb_remote::Packets, lldb_private::process_gdb_remote::Process, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponseNoLock(), and SetCurrentThread().
Referenced by GetThreadPacketSupported(), ReadAllRegisters(), ReadRegister(), RestoreRegisterState(), SaveRegisterState(), WriteAllRegisters(), and WriteRegister().
| llvm::Expected< std::vector< uint8_t > > GDBRemoteCommunicationClient::SendTraceGetBinaryData | ( | const TraceGetBinaryDataRequest & | request, |
| std::chrono::seconds | interrupt_timeout ) |
Definition at line 3972 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetData(), StringExtractorGDBRemote::GetEscapedBinaryData(), lldb_private::GetLog(), StringExtractorGDBRemote::GetStatus(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsErrorResponse(), LLDB_LOG, lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, lldb_private::Status::ToError(), and lldb_private::toJSON().
| llvm::Expected< std::string > GDBRemoteCommunicationClient::SendTraceGetState | ( | llvm::StringRef | type, |
| std::chrono::seconds | interrupt_timeout ) |
Definition at line 3939 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetData(), lldb_private::GetLog(), StringExtractorGDBRemote::GetStatus(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_LOG, StringExtractor::Peek(), lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, lldb_private::Status::ToError(), and lldb_private::toJSON().
| llvm::Error GDBRemoteCommunicationClient::SendTraceStart | ( | const llvm::json::Value & | request, |
| std::chrono::seconds | interrupt_timeout ) |
Definition at line 3905 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetData(), lldb_private::GetLog(), StringExtractorGDBRemote::GetStatus(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_LOG, lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::Status::ToError().
| llvm::Error GDBRemoteCommunicationClient::SendTraceStop | ( | const TraceStopRequest & | request, |
| std::chrono::seconds | interrupt_timeout ) |
Definition at line 3871 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetData(), lldb_private::GetLog(), StringExtractorGDBRemote::GetStatus(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_LOG, lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, lldb_private::Status::ToError(), and lldb_private::toJSON().
| llvm::Expected< TraceSupportedResponse > GDBRemoteCommunicationClient::SendTraceSupported | ( | std::chrono::seconds | interrupt_timeout | ) |
Definition at line 3846 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::GetLog(), StringExtractorGDBRemote::GetStatus(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_LOG, StringExtractor::Peek(), lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::Status::ToError().
| void GDBRemoteCommunicationClient::ServeSymbolLookups | ( | lldb_private::Process * | process | ) |
Definition at line 4308 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::Clear(), lldb::eSymbolTypeAbsolute, lldb::eSymbolTypeAdditional, lldb::eSymbolTypeAny, lldb::eSymbolTypeBlock, lldb::eSymbolTypeCode, lldb::eSymbolTypeCommonBlock, lldb::eSymbolTypeCompiler, lldb::eSymbolTypeData, lldb::eSymbolTypeException, lldb::eSymbolTypeHeaderFile, lldb::eSymbolTypeInstrumentation, lldb::eSymbolTypeInvalid, lldb::eSymbolTypeLineEntry, lldb::eSymbolTypeLineHeader, lldb::eSymbolTypeLocal, lldb::eSymbolTypeObjCClass, lldb::eSymbolTypeObjCIVar, lldb::eSymbolTypeObjCMetaClass, lldb::eSymbolTypeObjectFile, lldb::eSymbolTypeParam, lldb::eSymbolTypeReExported, lldb::eSymbolTypeResolver, lldb::eSymbolTypeRuntime, lldb::eSymbolTypeScopeBegin, lldb::eSymbolTypeScopeEnd, lldb::eSymbolTypeSourceFile, lldb::eSymbolTypeTrampoline, lldb::eSymbolTypeUndefined, lldb::eSymbolTypeVariable, lldb::eSymbolTypeVariableType, lldb_private::ModuleList::FindSymbolsWithNameAndType(), StringExtractor::GetHexByteString(), lldb_private::Target::GetImages(), lldb_private::GetLog(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), lldb_private::Process::GetTarget(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_INVALID_ADDRESS, LLDB_LOGF, m_qSymbol_requests_done, m_supports_qSymbol, lldb_private::process_gdb_remote::Packets, lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponseNoLock(), StringExtractor::SetFilePos(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::SetCurrentThread | ( | uint64_t | tid, |
| lldb::pid_t | pid = LLDB_INVALID_PROCESS_ID ) |
Definition at line 2959 of file GDBRemoteCommunicationClient.cpp.
References LLDB_INVALID_PROCESS_ID, m_curr_pid, m_curr_tid, and SendSetCurrentThreadPacket().
Referenced by ReadSiginfo(), and SendThreadSpecificPacketAndWaitForResponse().
| bool GDBRemoteCommunicationClient::SetCurrentThreadForRun | ( | uint64_t | tid, |
| lldb::pid_t | pid = LLDB_INVALID_PROCESS_ID ) |
Definition at line 2974 of file GDBRemoteCommunicationClient.cpp.
References LLDB_INVALID_PROCESS_ID, m_curr_pid_run, m_curr_tid_run, and SendSetCurrentThreadPacket().
| int GDBRemoteCommunicationClient::SetDetachOnError | ( | bool | enable | ) |
Sets the DetachOnError flag to enable for the process controlled by the stub.
| [in] | enable | A boolean value indicating whether to detach on error or not. |
Definition at line 2199 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
| int GDBRemoteCommunicationClient::SetDisableASLR | ( | bool | enable | ) |
Sets the disable ASLR flag to enable for a process that will be launched with the 'A' packet.
| [in] | enable | A boolean value indicating whether to disable ASLR or not. |
Definition at line 2182 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
| Status GDBRemoteCommunicationClient::SetFilePermissions | ( | const FileSpec & | file_spec, |
| uint32_t | file_permissions ) |
Definition at line 3245 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, lldb_private::Status::FromErrorStringWithFormat(), StringExtractor::GetChar(), lldb_private::StreamString::GetData(), StringExtractor::GetHexMaxU32(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutHex32(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::Status, lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT32_MAX.
| int GDBRemoteCommunicationClient::SetSTDERR | ( | const FileSpec & | file_spec | ) |
Definition at line 2106 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| int GDBRemoteCommunicationClient::SetSTDIN | ( | const FileSpec & | file_spec | ) |
Sets the path to use for stdin/out/err for a process that will be launched with the 'A' packet.
| [in] | file_spec | The path to use for stdin/out/err |
Definition at line 2066 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| int GDBRemoteCommunicationClient::SetSTDIOWindowSize | ( | uint16_t | cols, |
| uint16_t | rows ) |
Send the dimensions of the user's stdio terminal window to the server.
Definition at line 2126 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| int GDBRemoteCommunicationClient::SetSTDOUT | ( | const FileSpec & | file_spec | ) |
Definition at line 2086 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| int GDBRemoteCommunicationClient::SetWorkingDir | ( | const FileSpec & | working_dir | ) |
Sets the working directory to path for a process that will be launched with the 'A' packet for non platform based connections.
If this packet is sent to a GDB server that implements the platform, it will change the current working directory for the platform process.
| [in] | working_dir | The path to a directory to use when launching our process |
Definition at line 2162 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| std::optional< GDBRemoteFStatData > GDBRemoteCommunicationClient::Stat | ( | const FileSpec & | file_spec | ) |
Definition at line 3355 of file GDBRemoteCommunicationClient.cpp.
References CloseFile(), lldb_private::File::eOpenOptionReadOnly, error(), FStat(), OpenFile(), and UINT64_MAX.
Referenced by GetFilePermissions(), and GetFileSize().
|
inline |
Definition at line 398 of file GDBRemoteCommunicationClient.h.
References m_supports_alloc_dealloc_memory.
|
inline |
Definition at line 291 of file GDBRemoteCommunicationClient.h.
References lldb_private::process_gdb_remote::eBreakpointHardware, lldb_private::process_gdb_remote::eBreakpointSoftware, lldb_private::process_gdb_remote::eWatchpointRead, lldb_private::process_gdb_remote::eWatchpointReadWrite, lldb_private::process_gdb_remote::eWatchpointWrite, m_supports_z0, m_supports_z1, m_supports_z2, m_supports_z3, and m_supports_z4.
Referenced by GetStoppointType(), and SendGDBStoppointTypePacket().
| bool GDBRemoteCommunicationClient::SyncThreadState | ( | lldb::tid_t | tid | ) |
Definition at line 3833 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetString(), GetSyncThreadStateSupported(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadAllRegisterValues().
| void GDBRemoteCommunicationClient::TestPacketSpeed | ( | const uint32_t | num_packets, |
| uint32_t | max_send, | ||
| uint32_t | max_recv, | ||
| uint64_t | recv_amount, | ||
| bool | json, | ||
| Stream & | strm ) |
Definition at line 2687 of file GDBRemoteCommunicationClient.cpp.
References calculate_standard_deviation(), lldb_private::Stream::EOL(), lldb_private::Stream::Flush(), lldb_private::Stream::Format(), lldb_private::StreamString::GetString(), MakeSpeedTestPacket(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and SendSpeedTestPacket().
Referenced by CommandObjectProcessGDBRemoteSpeedTest::DoExecute().
Definition at line 3572 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, error(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), gdb_errno_to_system(), StringExtractor::GetChar(), StringExtractor::GetHexMaxU32(), lldb_private::FileSpec::GetPath(), StringExtractor::GetS32(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::Status, lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT32_MAX.
| bool GDBRemoteCommunicationClient::UsesNativeSignals | ( | ) |
Definition at line 4564 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), GetThreadSuffixSupported(), and m_uses_native_signals.
| bool GDBRemoteCommunicationClient::WriteAllRegisters | ( | lldb::tid_t | tid, |
| llvm::ArrayRef< uint8_t > | data ) |
Definition at line 3772 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::endian::InlHostByteOrder(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutChar(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteAllRegisterValues(), and lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteRegisterBytes().
| uint64_t GDBRemoteCommunicationClient::WriteFile | ( | lldb::user_id_t | fd, |
| uint64_t | offset, | ||
| const void * | src, | ||
| uint64_t | src_len, | ||
| Status & | error ) |
Definition at line 3506 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, error(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), gdb_errno_to_system(), StringExtractor::GetChar(), StringExtractor::GetS32(), StringExtractor::GetS64(), lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::Status, and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| Status GDBRemoteCommunicationClient::WriteMemoryTags | ( | lldb::addr_t | addr, |
| size_t | len, | ||
| int32_t | type, | ||
| const std::vector< uint8_t > & | tags ) |
Definition at line 871 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Status::FromErrorString(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::Printf(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
| bool GDBRemoteCommunicationClient::WriteRegister | ( | lldb::tid_t | tid, |
| uint32_t | reg_num, | ||
| llvm::ArrayRef< uint8_t > | data ) |
Definition at line 3758 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::endian::InlHostByteOrder(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::Printf(), lldb_private::Stream::PutBytesAsRawHex8(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::SetPrimordialRegister(), and lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteAllRegisterValues().
|
protected |
Definition at line 610 of file GDBRemoteCommunicationClient.h.
Referenced by GetVAttachOrWaitSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 613 of file GDBRemoteCommunicationClient.h.
Referenced by AvoidGPackets(), and ResetDiscoverableSettings().
|
protected |
Definition at line 674 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessInfo(), and GetProcessStandaloneBinaries().
|
protected |
Current gdb remote protocol process identifier for all other operations.
Definition at line 654 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessID(), GetCurrentProcessInfo(), GetDefaultThreadId(), and SetCurrentThread().
|
protected |
Definition at line 602 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessID(), GetCurrentProcessInfo(), GetDefaultThreadId(), and ResetDiscoverableSettings().
|
protected |
Current gdb remote protocol process identifier for continue, step, etc.
Definition at line 656 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessID(), GetCurrentProcessInfo(), GetDefaultThreadId(), and SetCurrentThreadForRun().
|
protected |
Current gdb remote protocol thread identifier for all other operations.
Definition at line 658 of file GDBRemoteCommunicationClient.h.
Referenced by OnRunPacketSent(), and SetCurrentThread().
|
protected |
Current gdb remote protocol thread identifier for continue, step, etc.
Definition at line 660 of file GDBRemoteCommunicationClient.h.
Referenced by SetCurrentThreadForRun().
|
protected |
Definition at line 686 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetHostDefaultPacketTimeout(), GetHostInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 681 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetGDBServerProgramName(), GetGDBServerVersion(), and ResetDiscoverableSettings().
|
protected |
Definition at line 683 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessInfo(), GetGDBServerProgramVersion(), GetGDBServerVersion(), and ResetDiscoverableSettings().
|
protected |
Definition at line 666 of file GDBRemoteCommunicationClient.h.
Referenced by GetAddressableBits(), and GetHostInfo().
|
protected |
Definition at line 668 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetHostArchitecture(), GetHostInfo(), GetSystemArchitecture(), and ResetDiscoverableSettings().
|
protected |
Definition at line 669 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetHostInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 680 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetHostInfo(), GetHostname(), and ResetDiscoverableSettings().
|
protected |
Definition at line 677 of file GDBRemoteCommunicationClient.h.
Referenced by GetLLDBSettings(), and ResetDiscoverableSettings().
|
protected |
Definition at line 665 of file GDBRemoteCommunicationClient.h.
Referenced by GetAddressableBits(), and GetHostInfo().
|
protected |
Definition at line 676 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostInfo(), and GetMacCatalystVersion().
|
protected |
Definition at line 688 of file GDBRemoteCommunicationClient.h.
Referenced by GetRemoteMaxPacketSize(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 662 of file GDBRemoteCommunicationClient.h.
Referenced by GetWatchpointSlotCount().
|
protected |
Definition at line 678 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetHostInfo(), GetOSBuildString(), and ResetDiscoverableSettings().
|
protected |
Definition at line 679 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetHostInfo(), GetOSKernelDescription(), and ResetDiscoverableSettings().
|
protected |
Definition at line 675 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostInfo(), GetOSVersion(), and ResetDiscoverableSettings().
|
protected |
Definition at line 611 of file GDBRemoteCommunicationClient.h.
Referenced by GetSyncThreadStateSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 670 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetCurrentProcessInfo(), GetProcessArchitecture(), and ResetDiscoverableSettings().
|
protected |
Definition at line 671 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessInfo(), and GetProcessStandaloneBinary().
|
protected |
Definition at line 672 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessInfo(), and GetProcessStandaloneBinary().
|
protected |
Definition at line 673 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessInfo(), and GetProcessStandaloneBinary().
|
protected |
Definition at line 604 of file GDBRemoteCommunicationClient.h.
Referenced by GetGDBServerVersion(), and ResetDiscoverableSettings().
|
protected |
Definition at line 601 of file GDBRemoteCommunicationClient.h.
Referenced by GetAddressableBits(), GetHostArchitecture(), GetHostDefaultPacketTimeout(), GetHostInfo(), GetWatchpointReportedAfter(), and ResetDiscoverableSettings().
|
protected |
Definition at line 603 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessInfo(), GetProcessArchitecture(), GetProcessStandaloneBinaries(), GetProcessStandaloneBinary(), and ResetDiscoverableSettings().
|
protected |
Definition at line 689 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetRemoteQSupported(), GetServerSupportedFeatures(), and ResetDiscoverableSettings().
|
protected |
Definition at line 647 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), ResetDiscoverableSettings(), and ServeSymbolLookups().
|
protected |
Definition at line 694 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetQXferMemoryMapRegionInfo(), and LoadQXferMemoryMap().
|
protected |
Definition at line 695 of file GDBRemoteCommunicationClient.h.
Referenced by LoadQXferMemoryMap().
|
protected |
Definition at line 691 of file GDBRemoteCommunicationClient.h.
Referenced by GetSupportedStructuredDataPlugins(), and ResetDiscoverableSettings().
|
protected |
Definition at line 692 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetSupportedStructuredDataPlugins(), and ResetDiscoverableSettings().
|
protected |
Definition at line 638 of file GDBRemoteCommunicationClient.h.
Referenced by GetAcceleratorPluginsSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 630 of file GDBRemoteCommunicationClient.h.
Referenced by GetAddressSpaces(), GetAddressSpacesSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 605 of file GDBRemoteCommunicationClient.h.
Referenced by AllocateMemory(), DeallocateMemory(), ResetDiscoverableSettings(), and SupportsAllocDeallocMemory().
|
protected |
Definition at line 621 of file GDBRemoteCommunicationClient.h.
Referenced by GetAugmentedLibrariesSVR4ReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 608 of file GDBRemoteCommunicationClient.h.
Referenced by Detach().
|
protected |
Definition at line 627 of file GDBRemoteCommunicationClient.h.
Referenced by EnableErrorStringInPacket().
|
protected |
Definition at line 625 of file GDBRemoteCommunicationClient.h.
Referenced by GetDynamicLoaderProcessStateSupported().
|
protected |
Definition at line 624 of file GDBRemoteCommunicationClient.h.
Referenced by GetSharedCacheInfoSupported().
|
protected |
Definition at line 623 of file GDBRemoteCommunicationClient.h.
Referenced by GetLoadedDynamicLibrariesInfosSupported().
|
protected |
Definition at line 649 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetModulesInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 622 of file GDBRemoteCommunicationClient.h.
Referenced by GetThreadExtendedInfoSupported().
|
protected |
Definition at line 648 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), and GetThreadsInfo().
|
protected |
Definition at line 639 of file GDBRemoteCommunicationClient.h.
Referenced by GetLLDBSettings(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 606 of file GDBRemoteCommunicationClient.h.
Referenced by GetMemoryRegionInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 629 of file GDBRemoteCommunicationClient.h.
Referenced by GetMemoryTaggingSupported(), GetMultiprocessSupported(), and GetRemoteQSupported().
|
protected |
Definition at line 637 of file GDBRemoteCommunicationClient.h.
Referenced by GetMultiBreakpointSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 636 of file GDBRemoteCommunicationClient.h.
Referenced by GetMultiMemReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 628 of file GDBRemoteCommunicationClient.h.
Referenced by GetMultiprocessSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 592 of file GDBRemoteCommunicationClient.h.
Referenced by QueryNoAckModeSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 612 of file GDBRemoteCommunicationClient.h.
Referenced by GetpPacketSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 646 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), ResetDiscoverableSettings(), and SendEnvironmentPacket().
|
protected |
Definition at line 646 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), ResetDiscoverableSettings(), and SendEnvironmentPacket().
|
protected |
Definition at line 642 of file GDBRemoteCommunicationClient.h.
Referenced by FindProcesses(), GDBRemoteCommunicationClient(), and ResetDiscoverableSettings().
|
protected |
Definition at line 643 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetGroupName(), and ResetDiscoverableSettings().
|
protected |
Definition at line 648 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetModuleInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 626 of file GDBRemoteCommunicationClient.h.
Referenced by GetQPassSignalsSupported(), and GetRemoteQSupported().
|
protected |
Definition at line 642 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetProcessInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 631 of file GDBRemoteCommunicationClient.h.
Referenced by GetRemoteQSupported(), GetSaveCoreSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 614 of file GDBRemoteCommunicationClient.h.
Referenced by ResetDiscoverableSettings(), RestoreRegisterState(), and SaveRegisterState().
|
protected |
Definition at line 647 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), ResetDiscoverableSettings(), and ServeSymbolLookups().
|
protected |
Definition at line 644 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetThreadStopInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 643 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), GetUserName(), and ResetDiscoverableSettings().
|
protected |
Definition at line 615 of file GDBRemoteCommunicationClient.h.
Referenced by GetQXferAuxvReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 618 of file GDBRemoteCommunicationClient.h.
Referenced by GetQXferFeaturesReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 616 of file GDBRemoteCommunicationClient.h.
Referenced by GetQXferLibrariesReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 617 of file GDBRemoteCommunicationClient.h.
Referenced by GetQXferLibrariesSVR4ReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 619 of file GDBRemoteCommunicationClient.h.
Referenced by GetQXferMemoryMapReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 620 of file GDBRemoteCommunicationClient.h.
Referenced by GetQXferSigInfoReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 634 of file GDBRemoteCommunicationClient.h.
Referenced by GetRemoteQSupported(), GetReverseContinueSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 635 of file GDBRemoteCommunicationClient.h.
Referenced by GetRemoteQSupported(), GetReverseStepSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 593 of file GDBRemoteCommunicationClient.h.
Referenced by GetThreadSuffixSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 594 of file GDBRemoteCommunicationClient.h.
Referenced by GetListThreadsInStopReplySupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 595 of file GDBRemoteCommunicationClient.h.
Referenced by GetVContSupported().
|
protected |
Definition at line 596 of file GDBRemoteCommunicationClient.h.
Referenced by GetVContSupported().
|
protected |
Definition at line 598 of file GDBRemoteCommunicationClient.h.
Referenced by GetVContSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 597 of file GDBRemoteCommunicationClient.h.
Referenced by GetVContSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 600 of file GDBRemoteCommunicationClient.h.
Referenced by GetVContSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 599 of file GDBRemoteCommunicationClient.h.
Referenced by GetVContSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 650 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), and GetFileExists().
|
protected |
Definition at line 650 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), and GetFilePermissions().
|
protected |
Definition at line 649 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), and GetFileSize().
|
protected |
Definition at line 651 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), and LaunchProcess().
|
protected |
Definition at line 640 of file GDBRemoteCommunicationClient.h.
Referenced by GetRemoteQSupported(), GetWasmInstanceSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 607 of file GDBRemoteCommunicationClient.h.
Referenced by GetWatchpointSlotCount().
|
protected |
Definition at line 644 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), ResetDiscoverableSettings(), SendGDBStoppointTypePacket(), and SupportsGDBStoppointPacket().
|
protected |
Definition at line 644 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), ResetDiscoverableSettings(), SendGDBStoppointTypePacket(), and SupportsGDBStoppointPacket().
|
protected |
Definition at line 645 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), ResetDiscoverableSettings(), SendGDBStoppointTypePacket(), and SupportsGDBStoppointPacket().
|
protected |
Definition at line 645 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), ResetDiscoverableSettings(), SendGDBStoppointTypePacket(), and SupportsGDBStoppointPacket().
|
protected |
Definition at line 645 of file GDBRemoteCommunicationClient.h.
Referenced by GDBRemoteCommunicationClient(), ResetDiscoverableSettings(), SendGDBStoppointTypePacket(), and SupportsGDBStoppointPacket().
|
protected |
Definition at line 687 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostInfo(), GetMemoryRegionInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 632 of file GDBRemoteCommunicationClient.h.
Referenced by GetRemoteQSupported(), ResetDiscoverableSettings(), and UsesNativeSignals().
|
protected |
Definition at line 663 of file GDBRemoteCommunicationClient.h.
Referenced by GetRemoteQSupported(), and GetSupportedWatchpointTypes().
|
protected |
Definition at line 609 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostInfo(), and GetWatchpointReportedAfter().
|
protected |
Definition at line 633 of file GDBRemoteCommunicationClient.h.
Referenced by GetRemoteQSupported(), GetxPacketState(), and ResetDiscoverableSettings().