LLDB  mainline
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient Class Reference

#include <GDBRemoteCommunicationClient.h>

Inheritance diagram for lldb_private::process_gdb_remote::GDBRemoteCommunicationClient:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::process_gdb_remote::GDBRemoteCommunicationClient:
Collaboration graph
[legend]

Public Member Functions

 GDBRemoteCommunicationClient ()
 
 ~GDBRemoteCommunicationClient () override
 
bool HandshakeWithServer (Status *error_ptr)
 
PacketResult SendPacketsAndConcatenateResponses (const char *send_payload_prefix, std::string &response_string)
 
bool GetThreadSuffixSupported ()
 
bool QueryNoAckModeSupported ()
 
void GetListThreadsInStopReplySupported ()
 
lldb::pid_t GetCurrentProcessID (bool allow_lazy=true)
 
bool GetLaunchSuccess (std::string &error_str)
 
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)
 
int SendArgumentsPacket (const ProcessLaunchInfo &launch_info)
 Sends a GDB remote protocol 'A' packet that delivers program arguments to the remote server. More...
 
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. More...
 
int SendEnvironment (const Environment &env)
 
int SendLaunchArchPacket (const char *arch)
 
int SendLaunchEventDataPacket (const char *data, bool *was_supported=nullptr)
 
int SendAttach (lldb::pid_t pid, StringExtractorGDBRemote &response)
 Sends a "vAttach:PID" where PID is in hex. More...
 
int SendStdinNotification (const char *data, size_t data_len)
 Sends a GDB remote protocol 'I' packet that delivers stdin data to the remote process. More...
 
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. More...
 
int SetSTDOUT (const FileSpec &file_spec)
 
int SetSTDERR (const FileSpec &file_spec)
 
int SetDisableASLR (bool enable)
 Sets the disable ASLR flag to enable for a process that will be launched with the 'A' packet. More...
 
int SetDetachOnError (bool enable)
 Sets the DetachOnError flag to enable for the process controlled by the stub. More...
 
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. More...
 
bool GetWorkingDir (FileSpec &working_dir)
 Gets the current working directory of a remote platform GDB server. More...
 
lldb::addr_t AllocateMemory (size_t size, uint32_t permissions)
 
bool DeallocateMemory (lldb::addr_t addr)
 
Status Detach (bool keep_stopped)
 
Status GetMemoryRegionInfo (lldb::addr_t addr, MemoryRegionInfo &range_info)
 
Status GetWatchpointSupportInfo (uint32_t &num)
 
Status GetWatchpointSupportInfo (uint32_t &num, bool &after, const ArchSpec &arch)
 
Status GetWatchpointsTriggerAfterInstruction (bool &after, const ArchSpec &arch)
 
const ArchSpecGetHostArchitecture ()
 
std::chrono::seconds GetHostDefaultPacketTimeout ()
 
const ArchSpecGetProcessArchitecture ()
 
void GetRemoteQSupported ()
 
bool GetVContSupported (char flavor)
 
bool GetpPacketSupported (lldb::tid_t tid)
 
bool GetxPacketSupported ()
 
bool GetVAttachOrWaitSupported ()
 
bool GetSyncThreadStateSupported ()
 
void ResetDiscoverableSettings (bool did_exec)
 
bool GetHostInfo (bool force=false)
 
bool GetDefaultThreadId (lldb::tid_t &tid)
 
llvm::VersionTuple GetOSVersion ()
 
bool GetOSBuildString (std::string &s)
 
bool GetOSKernelDescription (std::string &s)
 
ArchSpec GetSystemArchitecture ()
 
bool GetHostname (std::string &s)
 
lldb::addr_t GetShlibInfoAddr ()
 
bool GetSupportsThreadSuffix ()
 
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)
 
bool SetNonStopMode (const bool enable)
 
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)
 
bool SetCurrentThread (uint64_t tid)
 
bool SetCurrentThreadForRun (uint64_t tid)
 
bool GetQXferAuxvReadSupported ()
 
void EnableErrorStringInPacket ()
 
bool GetQXferLibrariesReadSupported ()
 
bool GetQXferLibrariesSVR4ReadSupported ()
 
uint64_t GetRemoteMaxPacketSize ()
 
bool GetEchoSupported ()
 
bool GetQPassSignalsSupported ()
 
bool GetAugmentedLibrariesSVR4ReadSupported ()
 
bool GetQXferFeaturesReadSupported ()
 
bool GetQXferMemoryMapReadSupported ()
 
LazyBool SupportsAllocDeallocMemory ()
 
size_t GetCurrentThreadIDs (std::vector< lldb::tid_t > &thread_ids, bool &sequence_mutex_unavailable)
 
lldb::user_id_t OpenFile (const FileSpec &file_spec, uint32_t flags, mode_t mode, Status &error)
 
bool CloseFile (lldb::user_id_t fd, Status &error)
 
lldb::user_id_t GetFileSize (const FileSpec &file_spec)
 
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 (const char *command, const FileSpec &working_dir, int *status_ptr, int *signo_ptr, std::string *command_output, const Timeout< std::micro > &timeout)
 
bool CalculateMD5 (const FileSpec &file_spec, uint64_t &high, uint64_t &low)
 
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 GetModuleInfo (const FileSpec &module_file_spec, const ArchSpec &arch_spec, ModuleSpec &module_spec)
 
llvm::Optional< std::vector< ModuleSpec > > GetModulesInfo (llvm::ArrayRef< FileSpec > module_file_specs, const llvm::Triple &triple)
 
bool ReadExtFeature (const lldb_private::ConstString object, const lldb_private::ConstString annex, std::string &out, lldb_private::Status &err)
 
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. More...
 
lldb_private::StructuredData::ArrayGetSupportedStructuredDataPlugins ()
 Return the array of async JSON packet types supported by the remote. More...
 
Status ConfigureRemoteStructuredData (ConstString type_name, const StructuredData::ObjectSP &config_sp)
 Configure a StructuredData feature on the remote end. More...
 
lldb::user_id_t SendStartTracePacket (const TraceOptions &options, Status &error)
 
Status SendStopTracePacket (lldb::user_id_t uid, lldb::tid_t thread_id)
 
Status SendGetDataPacket (lldb::user_id_t uid, lldb::tid_t thread_id, llvm::MutableArrayRef< uint8_t > &buffer, size_t offset=0)
 
Status SendGetMetaDataPacket (lldb::user_id_t uid, lldb::tid_t thread_id, llvm::MutableArrayRef< uint8_t > &buffer, size_t offset=0)
 
Status SendGetTraceConfigPacket (lldb::user_id_t uid, TraceOptions &options)
 
- Public Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteClientBase
 GDBRemoteClientBase (const char *comm_name, const char *listener_name)
 
bool SendAsyncSignal (int signo)
 
bool Interrupt ()
 
lldb::StateType SendContinuePacketAndWaitForResponse (ContinueDelegate &delegate, const UnixSignals &signals, llvm::StringRef payload, StringExtractorGDBRemote &response)
 
PacketResult SendPacketAndWaitForResponse (llvm::StringRef payload, StringExtractorGDBRemote &response, bool send_async)
 
PacketResult SendPacketAndReceiveResponseWithOutputSupport (llvm::StringRef payload, StringExtractorGDBRemote &response, bool send_async, llvm::function_ref< void(llvm::StringRef)> output_callback)
 
bool SendvContPacket (llvm::StringRef payload, StringExtractorGDBRemote &response)
 
- Public Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication
 GDBRemoteCommunication (const char *comm_name, const char *listener_name)
 
 ~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)
 
bool GetSendAcks ()
 
std::chrono::seconds SetPacketTimeout (std::chrono::seconds packet_timeout)
 
std::chrono::seconds GetPacketTimeout () const
 
Status StartDebugserverProcess (const char *url, Platform *platform, ProcessLaunchInfo &launch_info, uint16_t *port, const Args *inferior_args, int pass_comm_fd)
 
void DumpHistory (Stream &strm)
 
void SetHistoryStream (llvm::raw_ostream *strm)
 
- Public Member Functions inherited from lldb_private::Communication
 FLAGS_ANONYMOUS_ENUM ()
 
 Communication (const char *broadcaster_name)
 Construct the Communication object with the specified name for the Broadcaster that this object inherits from. More...
 
 ~Communication () override
 Destructor. More...
 
void Clear ()
 
lldb::ConnectionStatus Connect (const char *url, Status *error_ptr)
 Connect using the current connection by passing url to its connect function. More...
 
lldb::ConnectionStatus Disconnect (Status *error_ptr=nullptr)
 Disconnect the communications connection if one is currently connected. More...
 
bool IsConnected () const
 Check if the connection is valid. More...
 
bool HasConnection () const
 
lldb_private::ConnectionGetConnection ()
 
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. More...
 
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. More...
 
void SetConnection (Connection *connection)
 Sets the connection that it to be used by this class. More...
 
virtual bool StartReadThread (Status *error_ptr=nullptr)
 Starts a read thread whose sole purpose it to read bytes from the current connection. More...
 
virtual bool StopReadThread (Status *error_ptr=nullptr)
 Stops the read thread by cancelling it. More...
 
virtual bool JoinReadThread (Status *error_ptr=nullptr)
 
bool ReadThreadIsRunning ()
 Checks if there is a currently running read thread. More...
 
void SetReadThreadBytesReceivedCallback (ReadThreadBytesReceived callback, void *callback_baton)
 
void SynchronizeWithReadThread ()
 Wait for the read thread to process all outstanding data. More...
 
bool GetCloseOnEOF () const
 
void SetCloseOnEOF (bool b)
 
ConstStringGetBroadcasterClass () const override
 
- Public Member Functions inherited from lldb_private::Broadcaster
 Broadcaster (lldb::BroadcasterManagerSP manager_sp, const char *name)
 Construct with a broadcaster with a name. More...
 
virtual ~Broadcaster ()
 Destructor. More...
 
void CheckInWithManager ()
 
void BroadcastEvent (lldb::EventSP &event_sp)
 Broadcast an event which has no associated data. More...
 
void BroadcastEventIfUnique (lldb::EventSP &event_sp)
 
void BroadcastEvent (uint32_t event_type, const lldb::EventDataSP &event_data_sp)
 
void BroadcastEvent (uint32_t event_type, EventData *event_data=nullptr)
 
void BroadcastEventIfUnique (uint32_t event_type, EventData *event_data=nullptr)
 
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. More...
 
ConstString GetBroadcasterName ()
 Get the NULL terminated C string name of this Broadcaster object. More...
 
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. More...
 
void SetEventName (uint32_t event_mask, const char *name)
 Set the name for an event bit. More...
 
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. More...
 
bool HijackBroadcaster (const lldb::ListenerSP &listener_sp, uint32_t event_mask=UINT32_MAX)
 Provides a simple mechanism to temporarily redirect events from broadcaster. More...
 
bool IsHijackedForEvent (uint32_t event_mask)
 
void RestoreBroadcaster ()
 Restore the state of the Broadcaster from a previous hijack attempt. More...
 
lldb::BroadcasterManagerSP GetManager ()
 

Protected Member Functions

bool GetCurrentProcessInfo (bool allow_lazy_pid=true)
 
bool GetGDBServerVersion ()
 
void MaybeEnableCompression (std::vector< std::string > supported_compressions)
 
bool DecodeProcessInfoResponse (StringExtractorGDBRemote &response, ProcessInstanceInfo &process_info)
 
void OnRunPacketSent (bool first) override
 
PacketResult SendThreadSpecificPacketAndWaitForResponse (lldb::tid_t tid, StreamString &&payload, StringExtractorGDBRemote &response, bool send_async)
 
Status SendGetTraceDataPacket (StreamGDBRemote &packet, lldb::user_id_t uid, lldb::tid_t thread_id, llvm::MutableArrayRef< uint8_t > &buffer, size_t offset)
 
Status LoadQXferMemoryMap ()
 
Status GetQXferMemoryMapRegionInfo (lldb::addr_t addr, MemoryRegionInfo &region)
 
- Protected Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteClientBase
PacketResult SendPacketAndWaitForResponseNoLock (llvm::StringRef payload, StringExtractorGDBRemote &response)
 
- Protected Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication
PacketResult SendPacketNoLock (llvm::StringRef payload)
 
PacketResult SendRawPacketNoLock (llvm::StringRef payload, bool skip_ack=false)
 
PacketResult ReadPacket (StringExtractorGDBRemote &response, Timeout< std::micro > timeout, bool sync_on_timeout)
 
PacketResult ReadPacketWithOutputSupport (StringExtractorGDBRemote &response, Timeout< std::micro > timeout, bool sync_on_timeout, llvm::function_ref< void(llvm::StringRef)> output_callback)
 
PacketResult PopPacketFromQueue (StringExtractorGDBRemote &response, Timeout< std::micro > timeout)
 
PacketResult WaitForPacketNoLock (StringExtractorGDBRemote &response, Timeout< std::micro > timeout, bool sync_on_timeout)
 
bool CompressionIsEnabled ()
 
bool DecompressPacket ()
 
Status StartListenThread (const char *hostname="127.0.0.1", uint16_t port=0)
 
bool JoinListenThread ()
 
void AppendBytesToCache (const uint8_t *bytes, size_t len, bool broadcast, lldb::ConnectionStatus status) override
 Append new bytes that get read from the read thread into the internal object byte cache. More...
 
- Protected Member Functions inherited from lldb_private::Communication
size_t ReadFromConnection (void *dst, size_t dst_len, const Timeout< std::micro > &timeout, lldb::ConnectionStatus &status, Status *error_ptr)
 
size_t GetCachedBytes (void *dst, size_t dst_len)
 Get any available bytes from our data cache. More...
 
- Protected Member Functions inherited from lldb_private::Broadcaster
BroadcasterImplSP GetBroadcasterImpl ()
 
const char * GetHijackingListenerName ()
 

Protected Attributes

LazyBool m_supports_not_sending_acks
 
LazyBool m_supports_thread_suffix
 
LazyBool m_supports_threads_in_stop_reply
 
LazyBool m_supports_vCont_all
 
LazyBool m_supports_vCont_any
 
LazyBool m_supports_vCont_c
 
LazyBool m_supports_vCont_C
 
LazyBool m_supports_vCont_s
 
LazyBool m_supports_vCont_S
 
LazyBool m_qHostInfo_is_valid
 
LazyBool m_curr_pid_is_valid
 
LazyBool m_qProcessInfo_is_valid
 
LazyBool m_qGDBServerVersion_is_valid
 
LazyBool m_supports_alloc_dealloc_memory
 
LazyBool m_supports_memory_region_info
 
LazyBool m_supports_watchpoint_support_info
 
LazyBool m_supports_detach_stay_stopped
 
LazyBool m_watchpoints_trigger_after_instruction
 
LazyBool m_attach_or_wait_reply
 
LazyBool m_prepare_for_reg_writing_reply
 
LazyBool m_supports_p
 
LazyBool m_supports_x
 
LazyBool m_avoid_g_packets
 
LazyBool m_supports_QSaveRegisterState
 
LazyBool m_supports_qXfer_auxv_read
 
LazyBool m_supports_qXfer_libraries_read
 
LazyBool m_supports_qXfer_libraries_svr4_read
 
LazyBool m_supports_qXfer_features_read
 
LazyBool m_supports_qXfer_memory_map_read
 
LazyBool m_supports_augmented_libraries_svr4_read
 
LazyBool m_supports_jThreadExtendedInfo
 
LazyBool m_supports_jLoadedDynamicLibrariesInfos
 
LazyBool m_supports_jGetSharedCacheInfo
 
LazyBool m_supports_QPassSignals
 
LazyBool m_supports_error_string_reply
 
bool m_supports_qProcessInfoPID: 1
 
bool m_supports_qfProcessInfo: 1
 
bool m_supports_qUserName: 1
 
bool m_supports_qGroupName: 1
 
bool m_supports_qThreadStopInfo: 1
 
bool m_supports_z0: 1
 
bool m_supports_z1: 1
 
bool m_supports_z2: 1
 
bool m_supports_z3: 1
 
bool m_supports_z4: 1
 
bool m_supports_QEnvironment: 1
 
bool m_supports_QEnvironmentHexEncoded: 1
 
bool m_supports_qSymbol: 1
 
bool m_qSymbol_requests_done: 1
 
bool m_supports_qModuleInfo: 1
 
bool m_supports_jThreadsInfo: 1
 
bool m_supports_jModulesInfo: 1
 
lldb::pid_t m_curr_pid
 
lldb::tid_t m_curr_tid
 
lldb::tid_t m_curr_tid_run
 
uint32_t m_num_supported_hardware_watchpoints
 
ArchSpec m_host_arch
 
ArchSpec m_process_arch
 
llvm::VersionTuple m_os_version
 
std::string m_os_build
 
std::string m_os_kernel
 
std::string m_hostname
 
std::string m_gdb_server_name
 
uint32_t m_gdb_server_version
 
std::chrono::seconds m_default_packet_timeout
 
uint64_t m_max_packet_size
 
std::string m_qSupported_response
 
bool m_supported_async_json_packets_is_valid
 
lldb_private::StructuredData::ObjectSP m_supported_async_json_packets_sp
 
std::vector< MemoryRegionInfom_qXfer_memory_map
 
bool m_qXfer_memory_map_loaded
 
- Protected Attributes inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication
std::chrono::seconds m_packet_timeout
 
uint32_t m_echo_number
 
LazyBool m_supports_qEcho
 
GDBRemoteCommunicationHistory m_history
 
bool m_send_acks
 
bool m_is_platform
 
CompressionType m_compression_type
 
- Protected Attributes inherited from lldb_private::Communication
lldb::ConnectionSP m_connection_sp
 The connection that is current in use by this communications class. More...
 
HostThread m_read_thread
 The read thread handle in case we need to cancel the thread. More...
 
std::atomic< bool > m_read_thread_enabled
 
std::atomic< bool > m_read_thread_did_exit
 
std::string m_bytes
 A buffer to cache bytes read in the ReadThread function. More...
 
std::recursive_mutex m_bytes_mutex
 A mutex to protect multi-threaded access to the cached bytes. More...
 
std::mutex m_write_mutex
 Don't let multiple threads write at the same time... More...
 
std::mutex m_synchronize_mutex
 
ReadThreadBytesReceived m_callback
 
void * m_callback_baton
 
bool m_close_on_eof
 

Additional Inherited Members

- Public Types inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication
enum  { eBroadcastBitRunPacketSent = kLoUserBroadcastBit, eBroadcastBitGdbReadThreadGotNotify }
 
enum  PacketType { PacketType::Invalid = 0, PacketType::Standard, PacketType::Notify }
 
enum  PacketResult {
  PacketResult::Success = 0, PacketResult::ErrorSendFailed, PacketResult::ErrorSendAck, PacketResult::ErrorReplyFailed,
  PacketResult::ErrorReplyTimeout, PacketResult::ErrorReplyInvalid, PacketResult::ErrorReplyAck, PacketResult::ErrorDisconnected,
  PacketResult::ErrorNoSequenceLock
}
 
- Public Types inherited from lldb_private::Communication
typedef void(* ReadThreadBytesReceived) (void *baton, const void *src, size_t src_len)
 
- Static Public Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication
static llvm::Error ConnectLocally (GDBRemoteCommunication &client, GDBRemoteCommunication &server)
 
- Static Public Member Functions inherited from lldb_private::Communication
static lldb::thread_result_t ReadThread (lldb::thread_arg_t comm_ptr)
 The static read thread function. More...
 
static const char * ConnectionStatusAsCString (lldb::ConnectionStatus status)
 
static ConstStringGetStaticBroadcasterClass ()
 
- Protected Types inherited from lldb_private::Broadcaster
typedef std::shared_ptr< BroadcasterImplBroadcasterImplSP
 
typedef std::weak_ptr< BroadcasterImplBroadcasterImplWP
 
- Static Protected Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication
static lldb::thread_result_t ListenThread (lldb::thread_arg_t arg)
 

Detailed Description

Definition at line 33 of file GDBRemoteCommunicationClient.h.

Constructor & Destructor Documentation

◆ GDBRemoteCommunicationClient()

GDBRemoteCommunicationClient::GDBRemoteCommunicationClient ( )

Definition at line 52 of file GDBRemoteCommunicationClient.cpp.

◆ ~GDBRemoteCommunicationClient()

GDBRemoteCommunicationClient::~GDBRemoteCommunicationClient ( )
override

Member Function Documentation

◆ AllocateMemory()

addr_t GDBRemoteCommunicationClient::AllocateMemory ( size_t  size,
uint32_t  permissions 
)

◆ AvoidGPackets()

bool GDBRemoteCommunicationClient::AvoidGPackets ( ProcessGDBRemote process)

◆ CalculateMD5()

bool GDBRemoteCommunicationClient::CalculateMD5 ( const FileSpec file_spec,
uint64_t &  high,
uint64_t &  low 
)

◆ CloseFile()

bool GDBRemoteCommunicationClient::CloseFile ( lldb::user_id_t  fd,
Status error 
)

◆ ConfigureRemoteStructuredData()

Status GDBRemoteCommunicationClient::ConfigureRemoteStructuredData ( ConstString  type_name,
const StructuredData::ObjectSP config_sp 
)

◆ CreateSymlink()

Status GDBRemoteCommunicationClient::CreateSymlink ( const FileSpec src,
const FileSpec dst 
)

◆ DeallocateMemory()

bool GDBRemoteCommunicationClient::DeallocateMemory ( lldb::addr_t  addr)

◆ DecodeProcessInfoResponse()

bool GDBRemoteCommunicationClient::DecodeProcessInfoResponse ( StringExtractorGDBRemote response,
ProcessInstanceInfo process_info 
)
protected

◆ Detach()

Status GDBRemoteCommunicationClient::Detach ( bool  keep_stopped)

◆ EnableErrorStringInPacket()

void GDBRemoteCommunicationClient::EnableErrorStringInPacket ( )

◆ FindProcesses()

uint32_t GDBRemoteCommunicationClient::FindProcesses ( const ProcessInstanceInfoMatch process_match_info,
ProcessInstanceInfoList process_infos 
)

Definition at line 2102 of file GDBRemoteCommunicationClient.cpp.

References lldb_private::ProcessInstanceInfoList::Append(), lldb_private::ProcessInstanceInfoList::Clear(), 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::ProcessInstanceInfoList::GetSize(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), 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(), StringExtractor::SetFilePos(), lldb_private::StartsWith, lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::ProcessInfo::UserIDIsValid().

Referenced by lldb_private::platform_gdb_server::PlatformRemoteGDBServer::FindProcesses().

◆ GetAugmentedLibrariesSVR4ReadSupported()

bool GDBRemoteCommunicationClient::GetAugmentedLibrariesSVR4ReadSupported ( )

◆ GetCurrentProcessID()

lldb::pid_t GDBRemoteCommunicationClient::GetCurrentProcessID ( bool  allow_lazy = true)

◆ GetCurrentProcessInfo()

bool GDBRemoteCommunicationClient::GetCurrentProcessInfo ( bool  allow_lazy_pid = true)
protected

◆ GetCurrentThreadIDs()

size_t GDBRemoteCommunicationClient::GetCurrentThreadIDs ( std::vector< lldb::tid_t > &  thread_ids,
bool &  sequence_mutex_unavailable 
)

◆ GetDefaultThreadId()

bool GDBRemoteCommunicationClient::GetDefaultThreadId ( lldb::tid_t tid)

◆ GetEchoSupported()

bool GDBRemoteCommunicationClient::GetEchoSupported ( )

◆ GetFileExists()

bool GDBRemoteCommunicationClient::GetFileExists ( const FileSpec file_spec)

◆ GetFilePermissions()

Status GDBRemoteCommunicationClient::GetFilePermissions ( const FileSpec file_spec,
uint32_t file_permissions 
)

◆ GetFileSize()

lldb::user_id_t GDBRemoteCommunicationClient::GetFileSize ( const FileSpec file_spec)

◆ GetGDBServerProgramName()

const char * GDBRemoteCommunicationClient::GetGDBServerProgramName ( )

◆ GetGDBServerProgramVersion()

uint32_t GDBRemoteCommunicationClient::GetGDBServerProgramVersion ( )

◆ GetGDBServerVersion()

bool GDBRemoteCommunicationClient::GetGDBServerVersion ( )
protected

◆ GetGroupName()

bool GDBRemoteCommunicationClient::GetGroupName ( uint32_t  gid,
std::string &  name 
)

◆ GetHostArchitecture()

const lldb_private::ArchSpec & GDBRemoteCommunicationClient::GetHostArchitecture ( )

◆ GetHostDefaultPacketTimeout()

seconds GDBRemoteCommunicationClient::GetHostDefaultPacketTimeout ( )

◆ GetHostInfo()

bool GDBRemoteCommunicationClient::GetHostInfo ( bool  force = false)

Definition at line 1121 of file GDBRemoteCommunicationClient.cpp.

References lldb_private::eArchTypeMachO, lldb::eByteOrderBig, lldb::eByteOrderInvalid, lldb::eByteOrderLittle, lldb::eByteOrderPDP, lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, GDBR_LOG_PROCESS, lldb_private::ArchSpec::GetAddressByteSize(), lldb_private::ArchSpec::GetArchitectureName(), lldb_private::ArchSpec::GetByteOrder(), StringExtractor::GetHexByteString(), lldb_private::process_gdb_remote::ProcessGDBRemoteLog::GetLogIfAnyCategoryIsSet(), lldb_private::ArchSpec::GetMachine(), StringExtractor::GetNameColonValue(), lldb_private::ArchSpec::GetTriple(), StringExtractorGDBRemote::IsNormalResponse(), LLDB_INVALID_CPUTYPE, m_default_packet_timeout, m_host_arch, m_hostname, m_os_build, m_os_kernel, m_os_version, m_qHostInfo_is_valid, m_watchpoints_trigger_after_instruction, lldb_private::Log::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::ArchSpec::SetArchitecture(), lldb_private::ArchSpec::SetDistributionId(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SetPacketTimeout(), lldb_private::ArchSpec::SetTriple(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.

Referenced by lldb_private::platform_gdb_server::PlatformRemoteGDBServer::ConnectRemote(), lldb_private::process_gdb_remote::ProcessGDBRemote::ConnectToDebugserver(), GetCurrentProcessInfo(), GetHostArchitecture(), GetHostDefaultPacketTimeout(), GetHostname(), GetOSBuildString(), GetOSKernelDescription(), GetOSVersion(), and GetSystemArchitecture().

◆ GetHostname()

bool GDBRemoteCommunicationClient::GetHostname ( std::string &  s)

◆ GetLaunchSuccess()

bool GDBRemoteCommunicationClient::GetLaunchSuccess ( std::string &  error_str)

◆ GetListThreadsInStopReplySupported()

void GDBRemoteCommunicationClient::GetListThreadsInStopReplySupported ( )

◆ GetLoadedDynamicLibrariesInfosSupported()

bool GDBRemoteCommunicationClient::GetLoadedDynamicLibrariesInfosSupported ( )

◆ GetMemoryRegionInfo()

Status GDBRemoteCommunicationClient::GetMemoryRegionInfo ( lldb::addr_t  addr,
lldb_private::MemoryRegionInfo region_info 
)

Definition at line 1436 of file GDBRemoteCommunicationClient.cpp.

References lldb_private::MemoryRegionInfo::Clear(), lldb_private::Status::Clear(), lldb_private::Range< B, S >::Contains(), lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb_private::MemoryRegionInfo::eNo, StringExtractorGDBRemote::eResponse, lldb_private::MemoryRegionInfo::eYes, lldb_private::Status::Fail(), lldb_private::MemoryRegionInfo::GetBlocksize(), lldb_private::MemoryRegionInfo::GetFlash(), StringExtractor::GetHexByteString(), StringExtractor::GetNameColonValue(), GetQXferMemoryMapRegionInfo(), lldb_private::MemoryRegionInfo::GetRange(), StringExtractorGDBRemote::GetResponseType(), lldb_private::Range< B, S >::IsValid(), LLDB_INVALID_ADDRESS, m_supports_memory_region_info, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::MemoryRegionInfo::SetBlocksize(), lldb_private::Range< B, S >::SetByteSize(), lldb_private::Status::SetErrorString(), lldb_private::MemoryRegionInfo::SetExecutable(), lldb_private::MemoryRegionInfo::SetFlash(), lldb_private::MemoryRegionInfo::SetMapped(), lldb_private::MemoryRegionInfo::SetName(), lldb_private::Range< B, S >::SetRangeBase(), lldb_private::MemoryRegionInfo::SetReadable(), lldb_private::MemoryRegionInfo::SetWritable(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, lldb_private::Status::Success(), and UNUSED_IF_ASSERT_DISABLED.

Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetMemoryRegionInfo().

◆ GetModuleInfo()

bool GDBRemoteCommunicationClient::GetModuleInfo ( const FileSpec module_file_spec,
const ArchSpec arch_spec,
ModuleSpec module_spec 
)

◆ GetModulesInfo()

llvm::Optional< std::vector< ModuleSpec > > GDBRemoteCommunicationClient::GetModulesInfo ( llvm::ArrayRef< FileSpec module_file_specs,
const llvm::Triple &  triple 
)

◆ GetOSBuildString()

bool GDBRemoteCommunicationClient::GetOSBuildString ( std::string &  s)

◆ GetOSKernelDescription()

bool GDBRemoteCommunicationClient::GetOSKernelDescription ( std::string &  s)

◆ GetOSVersion()

llvm::VersionTuple GDBRemoteCommunicationClient::GetOSVersion ( )

◆ GetpPacketSupported()

bool GDBRemoteCommunicationClient::GetpPacketSupported ( lldb::tid_t  tid)

◆ GetProcessArchitecture()

const lldb_private::ArchSpec & GDBRemoteCommunicationClient::GetProcessArchitecture ( )

◆ GetProcessInfo()

bool GDBRemoteCommunicationClient::GetProcessInfo ( lldb::pid_t  pid,
ProcessInstanceInfo process_info 
)

◆ GetQPassSignalsSupported()

bool GDBRemoteCommunicationClient::GetQPassSignalsSupported ( )

◆ GetQXferAuxvReadSupported()

bool GDBRemoteCommunicationClient::GetQXferAuxvReadSupported ( )

◆ GetQXferFeaturesReadSupported()

bool GDBRemoteCommunicationClient::GetQXferFeaturesReadSupported ( )

◆ GetQXferLibrariesReadSupported()

bool GDBRemoteCommunicationClient::GetQXferLibrariesReadSupported ( )

◆ GetQXferLibrariesSVR4ReadSupported()

bool GDBRemoteCommunicationClient::GetQXferLibrariesSVR4ReadSupported ( )

◆ GetQXferMemoryMapReadSupported()

bool GDBRemoteCommunicationClient::GetQXferMemoryMapReadSupported ( )

◆ GetQXferMemoryMapRegionInfo()

Status GDBRemoteCommunicationClient::GetQXferMemoryMapRegionInfo ( lldb::addr_t  addr,
MemoryRegionInfo region 
)
protected

◆ GetRemoteMaxPacketSize()

uint64_t GDBRemoteCommunicationClient::GetRemoteMaxPacketSize ( )

◆ GetRemoteQSupported()

void GDBRemoteCommunicationClient::GetRemoteQSupported ( )

◆ GetServerSupportedFeatures()

const std::string& lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetServerSupportedFeatures ( ) const
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.

Returns
The string returned by the server to the qSupported query.

Definition at line 449 of file GDBRemoteCommunicationClient.h.

References ConfigureRemoteStructuredData(), GetSupportedStructuredDataPlugins(), m_qSupported_response, SendGetDataPacket(), SendGetMetaDataPacket(), SendGetTraceConfigPacket(), SendStartTracePacket(), and SendStopTracePacket().

◆ GetSharedCacheInfoSupported()

bool GDBRemoteCommunicationClient::GetSharedCacheInfoSupported ( )

◆ GetShlibInfoAddr()

lldb::addr_t GDBRemoteCommunicationClient::GetShlibInfoAddr ( )

◆ GetStopReply()

bool GDBRemoteCommunicationClient::GetStopReply ( StringExtractorGDBRemote response)

◆ GetSupportedStructuredDataPlugins()

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.

Returns
The string returned by the server to the qSupported query.

Definition at line 3890 of file GDBRemoteCommunicationClient.cpp.

References GDBR_LOG_PROCESS, lldb_private::StreamString::GetData(), lldb_private::process_gdb_remote::ProcessGDBRemoteLog::GetLogIfAllCategoriesSet(), StringExtractor::GetStringRef(), m_supported_async_json_packets_is_valid, m_supported_async_json_packets_sp, lldb_private::StructuredData::ParseJSON(), lldb_private::Log::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.

Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DidLaunchOrAttach(), and GetServerSupportedFeatures().

◆ GetSupportsThreadSuffix()

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetSupportsThreadSuffix ( )

◆ GetSyncThreadStateSupported()

bool GDBRemoteCommunicationClient::GetSyncThreadStateSupported ( )

◆ GetSystemArchitecture()

ArchSpec GDBRemoteCommunicationClient::GetSystemArchitecture ( )

◆ GetThreadExtendedInfoSupported()

bool GDBRemoteCommunicationClient::GetThreadExtendedInfoSupported ( )

◆ GetThreadsInfo()

StructuredData::ObjectSP GDBRemoteCommunicationClient::GetThreadsInfo ( )

◆ GetThreadStopInfo()

bool GDBRemoteCommunicationClient::GetThreadStopInfo ( lldb::tid_t  tid,
StringExtractorGDBRemote response 
)

◆ GetThreadSuffixSupported()

bool GDBRemoteCommunicationClient::GetThreadSuffixSupported ( )

◆ GetUserName()

bool GDBRemoteCommunicationClient::GetUserName ( uint32_t  uid,
std::string &  name 
)

◆ GetVAttachOrWaitSupported()

bool GDBRemoteCommunicationClient::GetVAttachOrWaitSupported ( )

◆ GetVContSupported()

bool GDBRemoteCommunicationClient::GetVContSupported ( char  flavor)

◆ GetWatchpointsTriggerAfterInstruction()

lldb_private::Status GDBRemoteCommunicationClient::GetWatchpointsTriggerAfterInstruction ( bool &  after,
const ArchSpec arch 
)

◆ GetWatchpointSupportInfo() [1/2]

Status GDBRemoteCommunicationClient::GetWatchpointSupportInfo ( uint32_t num)

◆ GetWatchpointSupportInfo() [2/2]

lldb_private::Status GDBRemoteCommunicationClient::GetWatchpointSupportInfo ( uint32_t num,
bool &  after,
const ArchSpec arch 
)

◆ GetWorkingDir()

bool GDBRemoteCommunicationClient::GetWorkingDir ( FileSpec working_dir)

◆ GetxPacketSupported()

bool GDBRemoteCommunicationClient::GetxPacketSupported ( )

◆ HandshakeWithServer()

bool GDBRemoteCommunicationClient::HandshakeWithServer ( Status error_ptr)

◆ HasAnyVContSupport()

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::HasAnyVContSupport ( )
inline

◆ HasFullVContSupport()

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::HasFullVContSupport ( )
inline

Definition at line 272 of file GDBRemoteCommunicationClient.h.

References GetVContSupported().

◆ KillSpawnedProcess()

bool GDBRemoteCommunicationClient::KillSpawnedProcess ( lldb::pid_t  pid)

◆ LaunchGDBServer()

bool GDBRemoteCommunicationClient::LaunchGDBServer ( const char *  remote_accept_hostname,
lldb::pid_t pid,
uint16_t port,
std::string &  socket_name 
)

◆ LoadQXferMemoryMap()

Status GDBRemoteCommunicationClient::LoadQXferMemoryMap ( )
protected

◆ MakeDirectory()

Status GDBRemoteCommunicationClient::MakeDirectory ( const FileSpec file_spec,
uint32_t  mode 
)

◆ MaybeEnableCompression()

void GDBRemoteCommunicationClient::MaybeEnableCompression ( std::vector< std::string >  supported_compressions)
protected

◆ OnRunPacketSent()

void GDBRemoteCommunicationClient::OnRunPacketSent ( bool  first)
overrideprotectedvirtual

◆ OpenFile()

lldb::user_id_t GDBRemoteCommunicationClient::OpenFile ( const FileSpec file_spec,
uint32_t  flags,
mode_t  mode,
Status error 
)

◆ QueryGDBServer()

size_t GDBRemoteCommunicationClient::QueryGDBServer ( std::vector< std::pair< uint16_t, std::string >> &  connection_urls)

◆ QueryNoAckModeSupported()

bool GDBRemoteCommunicationClient::QueryNoAckModeSupported ( )

◆ ReadAllRegisters()

DataBufferSP GDBRemoteCommunicationClient::ReadAllRegisters ( lldb::tid_t  tid)

◆ ReadExtFeature()

bool GDBRemoteCommunicationClient::ReadExtFeature ( const lldb_private::ConstString  object,
const lldb_private::ConstString  annex,
std::string &  out,
lldb_private::Status err 
)

◆ ReadFile()

uint64_t GDBRemoteCommunicationClient::ReadFile ( lldb::user_id_t  fd,
uint64_t  offset,
void *  dst,
uint64_t  dst_len,
Status error 
)

◆ ReadRegister()

DataBufferSP GDBRemoteCommunicationClient::ReadRegister ( lldb::tid_t  tid,
uint32_t  reg_num 
)

◆ ResetDiscoverableSettings()

void GDBRemoteCommunicationClient::ResetDiscoverableSettings ( bool  did_exec)

Definition at line 270 of file GDBRemoteCommunicationClient.cpp.

References lldb_private::ArchSpec::Clear(), 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_hostname, 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_alloc_dealloc_memory, m_supports_augmented_libraries_svr4_read, m_supports_jModulesInfo, m_supports_memory_region_info, 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_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_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_x, m_supports_z0, m_supports_z1, m_supports_z2, m_supports_z3, m_supports_z4, and UINT32_MAX.

Referenced by HandshakeWithServer(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SetLastStopPacket().

◆ RestoreRegisterState()

bool GDBRemoteCommunicationClient::RestoreRegisterState ( lldb::tid_t  tid,
uint32_t  save_id 
)

◆ RunShellCommand()

lldb_private::Status GDBRemoteCommunicationClient::RunShellCommand ( const char *  command,
const FileSpec working_dir,
int *  status_ptr,
int *  signo_ptr,
std::string *  command_output,
const Timeout< std::micro > &  timeout 
)

◆ SaveRegisterState()

bool GDBRemoteCommunicationClient::SaveRegisterState ( lldb::tid_t  tid,
uint32_t save_id 
)

◆ SendArgumentsPacket()

int GDBRemoteCommunicationClient::SendArgumentsPacket ( const ProcessLaunchInfo launch_info)

Sends a GDB remote protocol 'A' packet that delivers program arguments to the remote server.

Parameters
[in]argvA NULL terminated array of const C strings to use as the arguments.
Returns
Zero if the response was "OK", a positive value if the the response was "Exx" where xx are two hex digits, or -1 if the call is unsupported or any other unexpected response was received.

Definition at line 770 of file GDBRemoteCommunicationClient.cpp.

References lldb_private::Args::GetArgumentAtIndex(), lldb_private::ProcessInfo::GetArguments(), StringExtractorGDBRemote::GetError(), lldb_private::ProcessInfo::GetExecutableFile(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::Printf(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutChar(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.

Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch(), and lldb_private::platform_gdb_server::PlatformRemoteGDBServer::LaunchProcess().

◆ SendAttach()

int GDBRemoteCommunicationClient::SendAttach ( lldb::pid_t  pid,
StringExtractorGDBRemote response 
)

Sends a "vAttach:PID" where PID is in hex.

Parameters
[in]pidA process ID for the remote gdb server to attach to.
[out]responseThe response received from the gdb server. If the return value is zero, response will contain a stop reply packet.
Returns
Zero if the attach was successful, or an error indicating an error code.

Definition at line 1304 of file GDBRemoteCommunicationClient.cpp.

References StringExtractorGDBRemote::GetError(), StringExtractorGDBRemote::IsErrorResponse(), LLDB_INVALID_PROCESS_ID, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.

◆ SendEnvironment()

int GDBRemoteCommunicationClient::SendEnvironment ( const Environment env)

◆ 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.

Parameters
[in]name_equal_valueA NULL terminated C string that contains a single environment in the format "NAME=VALUE".
Returns
Zero if the response was "OK", a positive value if the the response was "Exx" where xx are two hex digits, or -1 if the call is unsupported or any other unexpected response was received.

Definition at line 829 of file GDBRemoteCommunicationClient.cpp.

References StringExtractorGDBRemote::GetError(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), isprint(), 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().

◆ SendGDBStoppointTypePacket()

uint8_t GDBRemoteCommunicationClient::SendGDBStoppointTypePacket ( GDBStoppointType  type,
bool  insert,
lldb::addr_t  addr,
uint32_t  length 
)

◆ SendGetDataPacket()

Status GDBRemoteCommunicationClient::SendGetDataPacket ( lldb::user_id_t  uid,
lldb::tid_t  thread_id,
llvm::MutableArrayRef< uint8_t > &  buffer,
size_t  offset = 0 
)

◆ SendGetMetaDataPacket()

Status GDBRemoteCommunicationClient::SendGetMetaDataPacket ( lldb::user_id_t  uid,
lldb::tid_t  thread_id,
llvm::MutableArrayRef< uint8_t > &  buffer,
size_t  offset = 0 
)

◆ SendGetTraceConfigPacket()

Status GDBRemoteCommunicationClient::SendGetTraceConfigPacket ( lldb::user_id_t  uid,
TraceOptions options 
)

◆ SendGetTraceDataPacket()

Status GDBRemoteCommunicationClient::SendGetTraceDataPacket ( StreamGDBRemote packet,
lldb::user_id_t  uid,
lldb::tid_t  thread_id,
llvm::MutableArrayRef< uint8_t > &  buffer,
size_t  offset 
)
protected

◆ SendLaunchArchPacket()

int GDBRemoteCommunicationClient::SendLaunchArchPacket ( const char *  arch)

◆ SendLaunchEventDataPacket()

int GDBRemoteCommunicationClient::SendLaunchEventDataPacket ( const char *  data,
bool *  was_supported = nullptr 
)

◆ SendPacketsAndConcatenateResponses()

GDBRemoteCommunicationClient::PacketResult GDBRemoteCommunicationClient::SendPacketsAndConcatenateResponses ( const char *  send_payload_prefix,
std::string &  response_string 
)

◆ SendSignalsToIgnore()

Status GDBRemoteCommunicationClient::SendSignalsToIgnore ( llvm::ArrayRef< int32_t >  signals)

◆ SendSpeedTestPacket()

bool GDBRemoteCommunicationClient::SendSpeedTestPacket ( uint32_t  send_size,
uint32_t  recv_size 
)

◆ SendStartTracePacket()

lldb::user_id_t GDBRemoteCommunicationClient::SendStartTracePacket ( const TraceOptions options,
Status error 
)

◆ SendStdinNotification()

int GDBRemoteCommunicationClient::SendStdinNotification ( const char *  data,
size_t  data_len 
)

Sends a GDB remote protocol 'I' packet that delivers stdin data to the remote process.

Parameters
[in]dataA pointer to stdin data.
[in]data_lenThe number of bytes available at data.
Returns
Zero if the attach was successful, or an error indicating an error code.

Definition at line 1322 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.

Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::PutSTDIN().

◆ SendStopTracePacket()

Status GDBRemoteCommunicationClient::SendStopTracePacket ( lldb::user_id_t  uid,
lldb::tid_t  thread_id 
)

◆ SendThreadSpecificPacketAndWaitForResponse()

GDBRemoteCommunication::PacketResult GDBRemoteCommunicationClient::SendThreadSpecificPacketAndWaitForResponse ( lldb::tid_t  tid,
StreamString &&  payload,
StringExtractorGDBRemote response,
bool  send_async 
)
protected

◆ ServeSymbolLookups()

void GDBRemoteCommunicationClient::ServeSymbolLookups ( lldb_private::Process process)

Definition at line 3761 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(), GDBR_LOG_PACKETS, GDBR_LOG_PROCESS, lldb_private::SymbolContextList::GetContextAtIndex(), StringExtractor::GetHexByteString(), lldb_private::Target::GetImages(), lldb_private::Symbol::GetLoadAddress(), lldb_private::process_gdb_remote::ProcessGDBRemoteLog::GetLogIfAnyCategoryIsSet(), lldb_private::SymbolContextList::GetSize(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), lldb_private::Process::GetTarget(), lldb_private::Symbol::GetType(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_INVALID_ADDRESS, m_qSymbol_requests_done, m_supports_qSymbol, lldb_private::Stream::Printf(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponseNoLock(), StringExtractor::SetFilePos(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::SymbolContext::symbol.

Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::ModulesDidLoad(), and SupportsAllocDeallocMemory().

◆ SetCurrentThread()

bool GDBRemoteCommunicationClient::SetCurrentThread ( uint64_t  tid)

◆ SetCurrentThreadForRun()

bool GDBRemoteCommunicationClient::SetCurrentThreadForRun ( uint64_t  tid)

◆ SetDetachOnError()

int GDBRemoteCommunicationClient::SetDetachOnError ( bool  enable)

◆ SetDisableASLR()

int GDBRemoteCommunicationClient::SetDisableASLR ( bool  enable)

Sets the disable ASLR flag to enable for a process that will be launched with the 'A' packet.

Parameters
[in]enableA boolean value indicating whether to disable ASLR or not.
Returns
Zero if the for success, or an error code for failure.

Definition at line 1838 of file GDBRemoteCommunicationClient.cpp.

References StringExtractorGDBRemote::GetError(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.

Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch(), and lldb_private::platform_gdb_server::PlatformRemoteGDBServer::LaunchProcess().

◆ SetFilePermissions()

Status GDBRemoteCommunicationClient::SetFilePermissions ( const FileSpec file_spec,
uint32_t  file_permissions 
)

◆ SetNonStopMode()

bool GDBRemoteCommunicationClient::SetNonStopMode ( const bool  enable)

◆ SetSTDERR()

int GDBRemoteCommunicationClient::SetSTDERR ( const FileSpec file_spec)

◆ SetSTDIN()

int GDBRemoteCommunicationClient::SetSTDIN ( const FileSpec file_spec)

◆ SetSTDOUT()

int GDBRemoteCommunicationClient::SetSTDOUT ( const FileSpec file_spec)

◆ SetWorkingDir()

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.

Parameters
[in]working_dirThe path to a directory to use when launching our process
Returns
Zero if the for success, or an error code for failure.

Definition at line 1818 of file GDBRemoteCommunicationClient.cpp.

References 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.

Referenced by lldb_private::platform_gdb_server::PlatformRemoteGDBServer::ConnectRemote(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::LaunchProcess(), and lldb_private::platform_gdb_server::PlatformRemoteGDBServer::SetRemoteWorkingDirectory().

◆ SupportsAllocDeallocMemory()

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SupportsAllocDeallocMemory ( )
inline

◆ SupportsGDBStoppointPacket()

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SupportsGDBStoppointPacket ( GDBStoppointType  type)
inline

◆ SyncThreadState()

bool GDBRemoteCommunicationClient::SyncThreadState ( lldb::tid_t  tid)

◆ TestPacketSpeed()

void GDBRemoteCommunicationClient::TestPacketSpeed ( const uint32_t  num_packets,
uint32_t  max_send,
uint32_t  max_recv,
uint64_t  recv_amount,
bool  json,
Stream strm 
)

◆ Unlink()

Status GDBRemoteCommunicationClient::Unlink ( const FileSpec file_spec)

◆ WriteAllRegisters()

bool GDBRemoteCommunicationClient::WriteAllRegisters ( lldb::tid_t  tid,
llvm::ArrayRef< uint8_t >  data 
)

◆ WriteFile()

uint64_t GDBRemoteCommunicationClient::WriteFile ( lldb::user_id_t  fd,
uint64_t  offset,
const void *  src,
uint64_t  src_len,
Status error 
)

◆ WriteRegister()

bool GDBRemoteCommunicationClient::WriteRegister ( lldb::tid_t  tid,
uint32_t  reg_num,
llvm::ArrayRef< uint8_t >  data 
)

Member Data Documentation

◆ m_attach_or_wait_reply

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_attach_or_wait_reply
protected

◆ m_avoid_g_packets

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_avoid_g_packets
protected

Definition at line 517 of file GDBRemoteCommunicationClient.h.

Referenced by AvoidGPackets(), and ResetDiscoverableSettings().

◆ m_curr_pid

lldb::pid_t lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_curr_pid
protected

Definition at line 540 of file GDBRemoteCommunicationClient.h.

Referenced by GetCurrentProcessID(), and GetCurrentProcessInfo().

◆ m_curr_pid_is_valid

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_curr_pid_is_valid
protected

◆ m_curr_tid

lldb::tid_t lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_curr_tid
protected

Definition at line 541 of file GDBRemoteCommunicationClient.h.

Referenced by OnRunPacketSent(), and SetCurrentThread().

◆ m_curr_tid_run

lldb::tid_t lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_curr_tid_run
protected

Definition at line 543 of file GDBRemoteCommunicationClient.h.

Referenced by SetCurrentThreadForRun().

◆ m_default_packet_timeout

std::chrono::seconds lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_default_packet_timeout
protected

◆ m_gdb_server_name

std::string lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_gdb_server_name
protected

◆ m_gdb_server_version

uint32_t lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_gdb_server_version
protected

◆ m_host_arch

ArchSpec lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_host_arch
protected

◆ m_hostname

std::string lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_hostname
protected

◆ m_max_packet_size

uint64_t lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_max_packet_size
protected

◆ m_num_supported_hardware_watchpoints

uint32_t lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_num_supported_hardware_watchpoints
protected

Definition at line 546 of file GDBRemoteCommunicationClient.h.

Referenced by GetWatchpointSupportInfo().

◆ m_os_build

std::string lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_os_build
protected

◆ m_os_kernel

std::string lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_os_kernel
protected

◆ m_os_version

llvm::VersionTuple lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_os_version
protected

◆ m_prepare_for_reg_writing_reply

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_prepare_for_reg_writing_reply
protected

◆ m_process_arch

ArchSpec lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_process_arch
protected

◆ m_qGDBServerVersion_is_valid

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qGDBServerVersion_is_valid
protected

◆ m_qHostInfo_is_valid

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qHostInfo_is_valid
protected

◆ m_qProcessInfo_is_valid

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qProcessInfo_is_valid
protected

◆ m_qSupported_response

std::string lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qSupported_response
protected

◆ m_qSymbol_requests_done

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qSymbol_requests_done
protected

◆ m_qXfer_memory_map

std::vector<MemoryRegionInfo> lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qXfer_memory_map
protected

◆ m_qXfer_memory_map_loaded

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qXfer_memory_map_loaded
protected

Definition at line 566 of file GDBRemoteCommunicationClient.h.

Referenced by LoadQXferMemoryMap().

◆ m_supported_async_json_packets_is_valid

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supported_async_json_packets_is_valid
protected

◆ m_supported_async_json_packets_sp

lldb_private::StructuredData::ObjectSP lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supported_async_json_packets_sp
protected

◆ m_supports_alloc_dealloc_memory

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_alloc_dealloc_memory
protected

◆ m_supports_augmented_libraries_svr4_read

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_augmented_libraries_svr4_read
protected

◆ m_supports_detach_stay_stopped

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_detach_stay_stopped
protected

Definition at line 511 of file GDBRemoteCommunicationClient.h.

Referenced by Detach().

◆ m_supports_error_string_reply

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_error_string_reply
protected

Definition at line 529 of file GDBRemoteCommunicationClient.h.

Referenced by EnableErrorStringInPacket().

◆ m_supports_jGetSharedCacheInfo

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jGetSharedCacheInfo
protected

Definition at line 527 of file GDBRemoteCommunicationClient.h.

Referenced by GetSharedCacheInfoSupported().

◆ m_supports_jLoadedDynamicLibrariesInfos

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jLoadedDynamicLibrariesInfos
protected

◆ m_supports_jModulesInfo

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jModulesInfo
protected

Definition at line 531 of file GDBRemoteCommunicationClient.h.

Referenced by GetModulesInfo(), and ResetDiscoverableSettings().

◆ m_supports_jThreadExtendedInfo

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jThreadExtendedInfo
protected

Definition at line 525 of file GDBRemoteCommunicationClient.h.

Referenced by GetThreadExtendedInfoSupported().

◆ m_supports_jThreadsInfo

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jThreadsInfo
protected

Definition at line 531 of file GDBRemoteCommunicationClient.h.

Referenced by GetThreadsInfo().

◆ m_supports_memory_region_info

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_memory_region_info
protected

◆ m_supports_not_sending_acks

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_not_sending_acks
protected

◆ m_supports_p

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_p
protected

◆ m_supports_QEnvironment

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_QEnvironment
protected

◆ m_supports_QEnvironmentHexEncoded

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_QEnvironmentHexEncoded
protected

◆ m_supports_qfProcessInfo

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qfProcessInfo
protected

Definition at line 531 of file GDBRemoteCommunicationClient.h.

Referenced by FindProcesses(), and ResetDiscoverableSettings().

◆ m_supports_qGroupName

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qGroupName
protected

Definition at line 531 of file GDBRemoteCommunicationClient.h.

Referenced by GetGroupName(), and ResetDiscoverableSettings().

◆ m_supports_qModuleInfo

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qModuleInfo
protected

Definition at line 531 of file GDBRemoteCommunicationClient.h.

Referenced by GetModuleInfo(), and ResetDiscoverableSettings().

◆ m_supports_QPassSignals

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_QPassSignals
protected

◆ m_supports_qProcessInfoPID

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qProcessInfoPID
protected

Definition at line 531 of file GDBRemoteCommunicationClient.h.

Referenced by GetProcessInfo(), and ResetDiscoverableSettings().

◆ m_supports_QSaveRegisterState

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_QSaveRegisterState
protected

◆ m_supports_qSymbol

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qSymbol
protected

◆ m_supports_qThreadStopInfo

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qThreadStopInfo
protected

Definition at line 531 of file GDBRemoteCommunicationClient.h.

Referenced by GetThreadStopInfo(), and ResetDiscoverableSettings().

◆ m_supports_qUserName

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qUserName
protected

Definition at line 531 of file GDBRemoteCommunicationClient.h.

Referenced by GetUserName(), and ResetDiscoverableSettings().

◆ m_supports_qXfer_auxv_read

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_auxv_read
protected

◆ m_supports_qXfer_features_read

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_features_read
protected

◆ m_supports_qXfer_libraries_read

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_libraries_read
protected

◆ m_supports_qXfer_libraries_svr4_read

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_libraries_svr4_read
protected

◆ m_supports_qXfer_memory_map_read

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_memory_map_read
protected

◆ m_supports_thread_suffix

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_thread_suffix
protected

◆ m_supports_threads_in_stop_reply

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_threads_in_stop_reply
protected

◆ m_supports_vCont_all

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_all
protected

Definition at line 498 of file GDBRemoteCommunicationClient.h.

Referenced by GetVContSupported().

◆ m_supports_vCont_any

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_any
protected

Definition at line 499 of file GDBRemoteCommunicationClient.h.

Referenced by GetVContSupported().

◆ m_supports_vCont_c

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_c
protected

Definition at line 500 of file GDBRemoteCommunicationClient.h.

Referenced by GetVContSupported(), and ResetDiscoverableSettings().

◆ m_supports_vCont_C

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_C
protected

Definition at line 501 of file GDBRemoteCommunicationClient.h.

Referenced by GetVContSupported(), and ResetDiscoverableSettings().

◆ m_supports_vCont_s

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_s
protected

Definition at line 502 of file GDBRemoteCommunicationClient.h.

Referenced by GetVContSupported(), and ResetDiscoverableSettings().

◆ m_supports_vCont_S

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_S
protected

Definition at line 503 of file GDBRemoteCommunicationClient.h.

Referenced by GetVContSupported(), and ResetDiscoverableSettings().

◆ m_supports_watchpoint_support_info

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_watchpoint_support_info
protected

Definition at line 510 of file GDBRemoteCommunicationClient.h.

Referenced by GetWatchpointSupportInfo().

◆ m_supports_x

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_x
protected

◆ m_supports_z0

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_z0
protected

◆ m_supports_z1

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_z1
protected

◆ m_supports_z2

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_z2
protected

◆ m_supports_z3

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_z3
protected

◆ m_supports_z4

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_z4
protected

◆ m_watchpoints_trigger_after_instruction

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_watchpoints_trigger_after_instruction
protected

The documentation for this class was generated from the following files: