LLDB mainline
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | 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]

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)
 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 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 ArchSpecGetHostArchitecture ()
 
std::chrono::seconds GetHostDefaultPacketTimeout ()
 
const ArchSpecGetProcessArchitecture ()
 
bool GetProcessStandaloneBinary (UUID &uuid, lldb::addr_t &value, bool &value_is_offset)
 
std::vector< lldb::addr_tGetProcessStandaloneBinaries ()
 
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 ()
 
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< PidTidSendSetCurrentThreadPacket (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 ()
 
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< GDBRemoteFStatDataFStat (lldb::user_id_t fd)
 
std::optional< GDBRemoteFStatDataStat (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, 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< QOffsetsGetQOffsets ()
 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)
 
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::ArrayGetSupportedStructuredDataPlugins ()
 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< TraceSupportedResponseSendTraceSupported (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))
 
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)
 
- 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)
 
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 SetPacketRecorder (repro::PacketRecorder *recorder)
 
- 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::ConnectionGetConnection ()
 
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 ()
 

Protected Member Functions

bool GetCurrentProcessInfo (bool allow_lazy_pid=true)
 
bool GetGDBServerVersion ()
 
void MaybeEnableCompression (llvm::ArrayRef< llvm::StringRef > supported_compressions)
 
bool DecodeProcessInfoResponse (StringExtractorGDBRemote &response, ProcessInstanceInfo &process_info)
 
void OnRunPacketSent (bool first) override
 
PacketResult SendThreadSpecificPacketAndWaitForResponse (lldb::tid_t tid, StreamString &&payload, StringExtractorGDBRemote &response)
 
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)
 
LazyBool GetThreadPacketSupported (lldb::tid_t tid, llvm::StringRef packetStr)
 
- Protected Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteClientBase
PacketResult SendPacketAndWaitForResponseNoLock (llvm::StringRef payload, StringExtractorGDBRemote &response)
 
virtual void OnRunPacketSent (bool first)
 
- Protected Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication
PacketResult SendPacketNoLock (llvm::StringRef payload)
 
PacketResult SendNotificationPacketNoLock (llvm::StringRef notify_type, std::deque< std::string > &queue, 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 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 ()
 
lldb::thread_result_t ListenThread ()
 
- 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)
 
- Protected Member Functions inherited from lldb_private::Broadcaster
BroadcasterImplSP GetBroadcasterImpl ()
 
const char * GetHijackingListenerName ()
 

Protected Attributes

LazyBool m_supports_not_sending_acks = eLazyBoolCalculate
 
LazyBool m_supports_thread_suffix = eLazyBoolCalculate
 
LazyBool m_supports_threads_in_stop_reply = eLazyBoolCalculate
 
LazyBool m_supports_vCont_all = eLazyBoolCalculate
 
LazyBool m_supports_vCont_any = eLazyBoolCalculate
 
LazyBool m_supports_vCont_c = eLazyBoolCalculate
 
LazyBool m_supports_vCont_C = eLazyBoolCalculate
 
LazyBool m_supports_vCont_s = eLazyBoolCalculate
 
LazyBool m_supports_vCont_S = eLazyBoolCalculate
 
LazyBool m_qHostInfo_is_valid = eLazyBoolCalculate
 
LazyBool m_curr_pid_is_valid = eLazyBoolCalculate
 
LazyBool m_qProcessInfo_is_valid = eLazyBoolCalculate
 
LazyBool m_qGDBServerVersion_is_valid = eLazyBoolCalculate
 
LazyBool m_supports_alloc_dealloc_memory = eLazyBoolCalculate
 
LazyBool m_supports_memory_region_info = eLazyBoolCalculate
 
LazyBool m_supports_watchpoint_support_info = eLazyBoolCalculate
 
LazyBool m_supports_detach_stay_stopped = eLazyBoolCalculate
 
LazyBool m_watchpoints_trigger_after_instruction = eLazyBoolCalculate
 
LazyBool m_attach_or_wait_reply = eLazyBoolCalculate
 
LazyBool m_prepare_for_reg_writing_reply = eLazyBoolCalculate
 
LazyBool m_supports_p = eLazyBoolCalculate
 
LazyBool m_supports_x = eLazyBoolCalculate
 
LazyBool m_avoid_g_packets = eLazyBoolCalculate
 
LazyBool m_supports_QSaveRegisterState = eLazyBoolCalculate
 
LazyBool m_supports_qXfer_auxv_read = eLazyBoolCalculate
 
LazyBool m_supports_qXfer_libraries_read = eLazyBoolCalculate
 
LazyBool m_supports_qXfer_libraries_svr4_read = eLazyBoolCalculate
 
LazyBool m_supports_qXfer_features_read = eLazyBoolCalculate
 
LazyBool m_supports_qXfer_memory_map_read = eLazyBoolCalculate
 
LazyBool m_supports_qXfer_siginfo_read = eLazyBoolCalculate
 
LazyBool m_supports_augmented_libraries_svr4_read = eLazyBoolCalculate
 
LazyBool m_supports_jThreadExtendedInfo = eLazyBoolCalculate
 
LazyBool m_supports_jLoadedDynamicLibrariesInfos = eLazyBoolCalculate
 
LazyBool m_supports_jGetSharedCacheInfo = eLazyBoolCalculate
 
LazyBool m_supports_jGetDyldProcessState = eLazyBoolCalculate
 
LazyBool m_supports_QPassSignals = eLazyBoolCalculate
 
LazyBool m_supports_error_string_reply = eLazyBoolCalculate
 
LazyBool m_supports_multiprocess = eLazyBoolCalculate
 
LazyBool m_supports_memory_tagging = eLazyBoolCalculate
 
LazyBool m_supports_qSaveCore = eLazyBoolCalculate
 
LazyBool m_uses_native_signals = eLazyBoolCalculate
 
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
 
bool m_supports_vFileSize: 1
 
bool m_supports_vFileMode: 1
 
bool m_supports_vFileExists: 1
 
bool m_supports_vRun: 1
 
lldb::pid_t m_curr_pid = LLDB_INVALID_PROCESS_ID
 Current gdb remote protocol process identifier for all other operations.
 
lldb::pid_t m_curr_pid_run = LLDB_INVALID_PROCESS_ID
 Current gdb remote protocol process identifier for continue, step, etc.
 
lldb::tid_t m_curr_tid = LLDB_INVALID_THREAD_ID
 Current gdb remote protocol thread identifier for all other operations.
 
lldb::tid_t m_curr_tid_run = LLDB_INVALID_THREAD_ID
 Current gdb remote protocol thread identifier for continue, step, etc.
 
uint32_t m_num_supported_hardware_watchpoints = 0
 
WatchpointHardwareFeature m_watchpoint_types
 
uint32_t m_low_mem_addressing_bits = 0
 
uint32_t m_high_mem_addressing_bits = 0
 
ArchSpec m_host_arch
 
std::string m_host_distribution_id
 
ArchSpec m_process_arch
 
UUID m_process_standalone_uuid
 
lldb::addr_t m_process_standalone_value = LLDB_INVALID_ADDRESS
 
bool m_process_standalone_value_is_offset = false
 
std::vector< lldb::addr_tm_binary_addresses
 
llvm::VersionTuple m_os_version
 
llvm::VersionTuple m_maccatalyst_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
 
int m_target_vm_page_size = 0
 
uint64_t m_max_packet_size = 0
 
std::string m_qSupported_response
 
bool m_supported_async_json_packets_is_valid = false
 
lldb_private::StructuredData::ObjectSP m_supported_async_json_packets_sp
 
std::vector< MemoryRegionInfom_qXfer_memory_map
 
bool m_qXfer_memory_map_loaded = false
 
- 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
 
std::string m_bytes
 
std::recursive_mutex m_bytes_mutex
 
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.
 
std::mutex m_write_mutex
 Don't let multiple threads write at the same time...
 
bool m_close_on_eof
 

Private Member Functions

 GDBRemoteCommunicationClient (const GDBRemoteCommunicationClient &)=delete
 
const GDBRemoteCommunicationClientoperator= (const GDBRemoteCommunicationClient &)=delete
 

Additional Inherited Members

- 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
}
 
- Static Public Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication
static llvm::Error ConnectLocally (GDBRemoteCommunication &client, GDBRemoteCommunication &server)
 
static 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< BroadcasterImplBroadcasterImplSP
 
typedef std::weak_ptr< BroadcasterImplBroadcasterImplWP
 

Detailed Description

Definition at line 60 of file GDBRemoteCommunicationClient.h.

Constructor & Destructor Documentation

◆ GDBRemoteCommunicationClient() [1/2]

GDBRemoteCommunicationClient::GDBRemoteCommunicationClient ( )

Definition at line 60 of file GDBRemoteCommunicationClient.cpp.

◆ ~GDBRemoteCommunicationClient()

GDBRemoteCommunicationClient::~GDBRemoteCommunicationClient ( )
override

◆ GDBRemoteCommunicationClient() [2/2]

lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GDBRemoteCommunicationClient ( const GDBRemoteCommunicationClient )
privatedelete

Member Function Documentation

◆ AllocateMemory()

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

◆ AutoCompleteDiskFileOrDirectory()

void GDBRemoteCommunicationClient::AutoCompleteDiskFileOrDirectory ( CompletionRequest request,
bool  only_dir 
)

◆ AvoidGPackets()

bool GDBRemoteCommunicationClient::AvoidGPackets ( ProcessGDBRemote process)

◆ CalculateMD5()

llvm::ErrorOr< llvm::MD5::MD5Result > GDBRemoteCommunicationClient::CalculateMD5 ( const FileSpec file_spec)

◆ CloseFile()

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

◆ ConfigureRemoteStructuredData()

Status GDBRemoteCommunicationClient::ConfigureRemoteStructuredData ( llvm::StringRef  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,
lldb::pid_t  pid = LLDB_INVALID_PROCESS_ID 
)

◆ EnableErrorStringInPacket()

void GDBRemoteCommunicationClient::EnableErrorStringInPacket ( )

◆ FindProcesses()

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

Definition at line 2285 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().

◆ FStat()

std::optional< GDBRemoteFStatData > GDBRemoteCommunicationClient::FStat ( lldb::user_id_t  fd)

◆ GetAddressableBits()

AddressableBits GDBRemoteCommunicationClient::GetAddressableBits ( )

◆ GetAugmentedLibrariesSVR4ReadSupported()

bool GDBRemoteCommunicationClient::GetAugmentedLibrariesSVR4ReadSupported ( )

◆ GetCurrentProcessAndThreadIDs()

std::vector< std::pair< lldb::pid_t, lldb::tid_t > > GDBRemoteCommunicationClient::GetCurrentProcessAndThreadIDs ( bool &  sequence_mutex_unavailable)

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

◆ GetDynamicLoaderProcessStateSupported()

bool GDBRemoteCommunicationClient::GetDynamicLoaderProcessStateSupported ( )

◆ 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 ( )

Definition at line 1150 of file GDBRemoteCommunicationClient.cpp.

References GetGDBServerVersion(), and m_gdb_server_name.

Referenced by AvoidGPackets().

◆ GetGDBServerProgramVersion()

uint32_t GDBRemoteCommunicationClient::GetGDBServerProgramVersion ( )

Definition at line 1158 of file GDBRemoteCommunicationClient.cpp.

References GetGDBServerVersion(), and m_gdb_server_version.

Referenced by AvoidGPackets().

◆ 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 1208 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, lldb_private::ArchSpec::GetAddressByteSize(), lldb_private::ArchSpec::GetArchitectureName(), lldb_private::ArchSpec::GetByteOrder(), StringExtractor::GetHexByteString(), lldb_private::GetLog(), lldb_private::ArchSpec::GetMachine(), StringExtractor::GetNameColonValue(), lldb_private::ArchSpec::GetTriple(), 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::ArchSpec::SetArchitecture(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SetPacketTimeout(), lldb_private::ArchSpec::SetTriple(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.

Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::ConnectToDebugserver(), GetAddressableBits(), GetCurrentProcessInfo(), GetHostArchitecture(), GetHostDefaultPacketTimeout(), GetHostname(), GetMacCatalystVersion(), GetOSBuildString(), GetOSKernelDescription(), GetOSVersion(), GetSystemArchitecture(), and GetWatchpointReportedAfter().

◆ GetHostname()

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

Definition at line 994 of file GDBRemoteCommunicationClient.cpp.

References GetHostInfo(), and m_hostname.

◆ GetListThreadsInStopReplySupported()

void GDBRemoteCommunicationClient::GetListThreadsInStopReplySupported ( )

◆ GetLoadedDynamicLibrariesInfosSupported()

bool GDBRemoteCommunicationClient::GetLoadedDynamicLibrariesInfosSupported ( )

◆ GetMacCatalystVersion()

llvm::VersionTuple GDBRemoteCommunicationClient::GetMacCatalystVersion ( )

◆ GetMemoryRegionInfo()

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

Definition at line 1549 of file GDBRemoteCommunicationClient.cpp.

References lldb_private::MemoryRegionInfo::Clear(), lldb_private::Range< B, S >::Contains(), lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb_private::MemoryRegionInfo::eNo, StringExtractorGDBRemote::eResponse, error(), lldb_private::MemoryRegionInfo::eYes, 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::SetIsStackMemory(), lldb_private::MemoryRegionInfo::SetMapped(), lldb_private::MemoryRegionInfo::SetMemoryTagged(), lldb_private::MemoryRegionInfo::SetName(), lldb_private::MemoryRegionInfo::SetPageSize(), lldb_private::Range< B, S >::SetRangeBase(), lldb_private::Range< B, S >::SetRangeEnd(), lldb_private::MemoryRegionInfo::SetReadable(), lldb_private::MemoryRegionInfo::SetWritable(), lldb_private::Status::Success(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.

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

◆ GetMemoryTaggingSupported()

bool GDBRemoteCommunicationClient::GetMemoryTaggingSupported ( )

◆ GetModuleInfo()

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

◆ GetModulesInfo()

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

◆ GetMultiprocessSupported()

bool GDBRemoteCommunicationClient::GetMultiprocessSupported ( )

◆ GetOSBuildString()

std::optional< std::string > GDBRemoteCommunicationClient::GetOSBuildString ( )

Definition at line 977 of file GDBRemoteCommunicationClient.cpp.

References GetHostInfo(), and m_os_build.

◆ GetOSKernelDescription()

std::optional< std::string > GDBRemoteCommunicationClient::GetOSKernelDescription ( )

Definition at line 986 of file GDBRemoteCommunicationClient.cpp.

References GetHostInfo(), and m_os_kernel.

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

◆ GetProcessStandaloneBinaries()

std::vector< addr_t > GDBRemoteCommunicationClient::GetProcessStandaloneBinaries ( )

◆ GetProcessStandaloneBinary()

bool GDBRemoteCommunicationClient::GetProcessStandaloneBinary ( UUID uuid,
lldb::addr_t value,
bool &  value_is_offset 
)

◆ GetQOffsets()

std::optional< QOffsets > GDBRemoteCommunicationClient::GetQOffsets ( )

◆ 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

Definition at line 1713 of file GDBRemoteCommunicationClient.cpp.

References error(), LoadQXferMemoryMap(), and m_qXfer_memory_map.

Referenced by GetMemoryRegionInfo().

◆ GetQXferSigInfoReadSupported()

bool GDBRemoteCommunicationClient::GetQXferSigInfoReadSupported ( )

◆ GetRemoteMaxPacketSize()

uint64_t GDBRemoteCommunicationClient::GetRemoteMaxPacketSize ( )

◆ GetRemoteQSupported()

void GDBRemoteCommunicationClient::GetRemoteQSupported ( )

◆ GetSaveCoreSupported()

bool GDBRemoteCommunicationClient::GetSaveCoreSupported ( ) const

◆ 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 471 of file GDBRemoteCommunicationClient.h.

References m_qSupported_response.

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

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

◆ GetSupportedWatchpointTypes()

WatchpointHardwareFeature GDBRemoteCommunicationClient::GetSupportedWatchpointTypes ( )

◆ GetSyncThreadStateSupported()

bool GDBRemoteCommunicationClient::GetSyncThreadStateSupported ( )

◆ GetSystemArchitecture()

ArchSpec GDBRemoteCommunicationClient::GetSystemArchitecture ( )

Definition at line 1005 of file GDBRemoteCommunicationClient.cpp.

References GetHostInfo(), and m_host_arch.

◆ GetThreadExtendedInfoSupported()

bool GDBRemoteCommunicationClient::GetThreadExtendedInfoSupported ( )

◆ GetThreadPacketSupported()

LazyBool GDBRemoteCommunicationClient::GetThreadPacketSupported ( lldb::tid_t  tid,
llvm::StringRef  packetStr 
)
protected

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

◆ GetWatchpointReportedAfter()

std::optional< bool > GDBRemoteCommunicationClient::GetWatchpointReportedAfter ( )

◆ GetWatchpointSlotCount()

std::optional< uint32_t > GDBRemoteCommunicationClient::GetWatchpointSlotCount ( )

◆ 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 258 of file GDBRemoteCommunicationClient.h.

References GetVContSupported().

◆ KillProcess()

llvm::Expected< int > GDBRemoteCommunicationClient::KillProcess ( lldb::pid_t  pid)

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

◆ LaunchProcess()

llvm::Error GDBRemoteCommunicationClient::LaunchProcess ( const Args args)

◆ LoadQXferMemoryMap()

Status GDBRemoteCommunicationClient::LoadQXferMemoryMap ( )
protected

◆ MakeDirectory()

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

◆ MaybeEnableCompression()

void GDBRemoteCommunicationClient::MaybeEnableCompression ( llvm::ArrayRef< llvm::StringRef >  supported_compressions)
protected

◆ OnRunPacketSent()

void GDBRemoteCommunicationClient::OnRunPacketSent ( bool  first)
overrideprotectedvirtual

◆ OpenFile()

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

◆ operator=()

const GDBRemoteCommunicationClient & lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::operator= ( const GDBRemoteCommunicationClient )
privatedelete

◆ 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()

llvm::Expected< std::string > GDBRemoteCommunicationClient::ReadExtFeature ( llvm::StringRef  object,
llvm::StringRef  annex 
)

◆ ReadFile()

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

◆ ReadMemoryTags()

DataBufferSP GDBRemoteCommunicationClient::ReadMemoryTags ( lldb::addr_t  addr,
size_t  len,
int32_t  type 
)

◆ ReadRegister()

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

◆ ResetDiscoverableSettings()

void GDBRemoteCommunicationClient::ResetDiscoverableSettings ( bool  did_exec)

Definition at line 265 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_host_distribution_id, 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_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_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, m_target_vm_page_size, m_uses_native_signals, 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 ( llvm::StringRef  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 
)

◆ 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 855 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().

◆ SendGDBStoppointTypePacket()

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

◆ SendGetTraceDataPacket()

Status lldb_private::process_gdb_remote::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 
)

◆ SendSetCurrentThreadPacket()

std::optional< PidTid > GDBRemoteCommunicationClient::SendSetCurrentThreadPacket ( uint64_t  tid,
uint64_t  pid,
char  op 
)

◆ SendSignalsToIgnore()

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

◆ SendSpeedTestPacket()

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

◆ 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 1411 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().

◆ SendThreadSpecificPacketAndWaitForResponse()

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

◆ SendTraceGetBinaryData()

llvm::Expected< std::vector< uint8_t > > GDBRemoteCommunicationClient::SendTraceGetBinaryData ( const TraceGetBinaryDataRequest request,
std::chrono::seconds  interrupt_timeout 
)

◆ SendTraceGetState()

llvm::Expected< std::string > GDBRemoteCommunicationClient::SendTraceGetState ( llvm::StringRef  type,
std::chrono::seconds  interrupt_timeout 
)

◆ SendTraceStart()

llvm::Error GDBRemoteCommunicationClient::SendTraceStart ( const llvm::json::Value &  request,
std::chrono::seconds  interrupt_timeout 
)

◆ SendTraceStop()

llvm::Error GDBRemoteCommunicationClient::SendTraceStop ( const TraceStopRequest request,
std::chrono::seconds  interrupt_timeout 
)

◆ SendTraceSupported()

llvm::Expected< TraceSupportedResponse > GDBRemoteCommunicationClient::SendTraceSupported ( std::chrono::seconds  interrupt_timeout)

◆ ServeSymbolLookups()

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

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

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

◆ SetCurrentThread()

bool GDBRemoteCommunicationClient::SetCurrentThread ( uint64_t  tid,
lldb::pid_t  pid = LLDB_INVALID_PROCESS_ID 
)

◆ SetCurrentThreadForRun()

bool GDBRemoteCommunicationClient::SetCurrentThreadForRun ( uint64_t  tid,
lldb::pid_t  pid = LLDB_INVALID_PROCESS_ID 
)

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

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

◆ SetFilePermissions()

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

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

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

◆ Stat()

std::optional< GDBRemoteFStatData > GDBRemoteCommunicationClient::Stat ( const FileSpec file_spec)

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

◆ UsesNativeSignals()

bool GDBRemoteCommunicationClient::UsesNativeSignals ( )

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

◆ WriteMemoryTags()

Status GDBRemoteCommunicationClient::WriteMemoryTags ( lldb::addr_t  addr,
size_t  len,
int32_t  type,
const std::vector< uint8_t > &  tags 
)

◆ 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 = eLazyBoolCalculate
protected

◆ m_avoid_g_packets

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_avoid_g_packets = eLazyBoolCalculate
protected

Definition at line 545 of file GDBRemoteCommunicationClient.h.

Referenced by AvoidGPackets(), and ResetDiscoverableSettings().

◆ m_binary_addresses

std::vector<lldb::addr_t> lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_binary_addresses
protected

◆ m_curr_pid

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

Current gdb remote protocol process identifier for all other operations.

Definition at line 577 of file GDBRemoteCommunicationClient.h.

Referenced by GetCurrentProcessID(), GetCurrentProcessInfo(), GetDefaultThreadId(), and SetCurrentThread().

◆ m_curr_pid_is_valid

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_curr_pid_is_valid = eLazyBoolCalculate
protected

◆ m_curr_pid_run

lldb::pid_t lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_curr_pid_run = LLDB_INVALID_PROCESS_ID
protected

Current gdb remote protocol process identifier for continue, step, etc.

Definition at line 579 of file GDBRemoteCommunicationClient.h.

Referenced by GetCurrentProcessID(), GetCurrentProcessInfo(), GetDefaultThreadId(), and SetCurrentThreadForRun().

◆ m_curr_tid

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

Current gdb remote protocol thread identifier for all other operations.

Definition at line 581 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 = LLDB_INVALID_THREAD_ID
protected

Current gdb remote protocol thread identifier for continue, step, etc.

Definition at line 583 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_high_mem_addressing_bits

uint32_t lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_high_mem_addressing_bits = 0
protected

Definition at line 589 of file GDBRemoteCommunicationClient.h.

Referenced by GetAddressableBits(), and GetHostInfo().

◆ m_host_arch

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

◆ m_host_distribution_id

std::string lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_host_distribution_id
protected

Definition at line 592 of file GDBRemoteCommunicationClient.h.

Referenced by GetHostInfo(), and ResetDiscoverableSettings().

◆ m_hostname

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

◆ m_low_mem_addressing_bits

uint32_t lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_low_mem_addressing_bits = 0
protected

Definition at line 588 of file GDBRemoteCommunicationClient.h.

Referenced by GetAddressableBits(), and GetHostInfo().

◆ m_maccatalyst_version

llvm::VersionTuple lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_maccatalyst_version
protected

Definition at line 599 of file GDBRemoteCommunicationClient.h.

Referenced by GetHostInfo(), and GetMacCatalystVersion().

◆ m_max_packet_size

uint64_t lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_max_packet_size = 0
protected

◆ m_num_supported_hardware_watchpoints

uint32_t lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_num_supported_hardware_watchpoints = 0
protected

Definition at line 585 of file GDBRemoteCommunicationClient.h.

Referenced by GetWatchpointSlotCount().

◆ 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 = eLazyBoolCalculate
protected

◆ m_process_arch

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

◆ m_process_standalone_uuid

UUID lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_process_standalone_uuid
protected

◆ m_process_standalone_value

lldb::addr_t lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_process_standalone_value = LLDB_INVALID_ADDRESS
protected

◆ m_process_standalone_value_is_offset

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_process_standalone_value_is_offset = false
protected

◆ m_qGDBServerVersion_is_valid

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qGDBServerVersion_is_valid = eLazyBoolCalculate
protected

◆ m_qHostInfo_is_valid

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qHostInfo_is_valid = eLazyBoolCalculate
protected

◆ m_qProcessInfo_is_valid

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qProcessInfo_is_valid = eLazyBoolCalculate
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 = false
protected

Definition at line 617 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 = false
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 = eLazyBoolCalculate
protected

◆ m_supports_augmented_libraries_svr4_read

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_augmented_libraries_svr4_read = eLazyBoolCalculate
protected

◆ m_supports_detach_stay_stopped

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_detach_stay_stopped = eLazyBoolCalculate
protected

Definition at line 539 of file GDBRemoteCommunicationClient.h.

Referenced by Detach().

◆ m_supports_error_string_reply

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_error_string_reply = eLazyBoolCalculate
protected

Definition at line 559 of file GDBRemoteCommunicationClient.h.

Referenced by EnableErrorStringInPacket().

◆ m_supports_jGetDyldProcessState

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jGetDyldProcessState = eLazyBoolCalculate
protected

◆ m_supports_jGetSharedCacheInfo

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jGetSharedCacheInfo = eLazyBoolCalculate
protected

Definition at line 556 of file GDBRemoteCommunicationClient.h.

Referenced by GetSharedCacheInfoSupported().

◆ m_supports_jLoadedDynamicLibrariesInfos

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jLoadedDynamicLibrariesInfos = eLazyBoolCalculate
protected

◆ m_supports_jModulesInfo

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

Definition at line 572 of file GDBRemoteCommunicationClient.h.

Referenced by GetModulesInfo(), and ResetDiscoverableSettings().

◆ m_supports_jThreadExtendedInfo

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jThreadExtendedInfo = eLazyBoolCalculate
protected

Definition at line 554 of file GDBRemoteCommunicationClient.h.

Referenced by GetThreadExtendedInfoSupported().

◆ m_supports_jThreadsInfo

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

Definition at line 571 of file GDBRemoteCommunicationClient.h.

Referenced by GetThreadsInfo().

◆ m_supports_memory_region_info

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_memory_region_info = eLazyBoolCalculate
protected

◆ m_supports_memory_tagging

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_memory_tagging = eLazyBoolCalculate
protected

◆ m_supports_multiprocess

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_multiprocess = eLazyBoolCalculate
protected

◆ m_supports_not_sending_acks

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_not_sending_acks = eLazyBoolCalculate
protected

◆ m_supports_p

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_p = eLazyBoolCalculate
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 565 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 566 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 571 of file GDBRemoteCommunicationClient.h.

Referenced by GetModuleInfo(), and ResetDiscoverableSettings().

◆ m_supports_QPassSignals

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_QPassSignals = eLazyBoolCalculate
protected

◆ m_supports_qProcessInfoPID

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

Definition at line 565 of file GDBRemoteCommunicationClient.h.

Referenced by GetProcessInfo(), and ResetDiscoverableSettings().

◆ m_supports_qSaveCore

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qSaveCore = eLazyBoolCalculate
protected

◆ m_supports_QSaveRegisterState

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_QSaveRegisterState = eLazyBoolCalculate
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 567 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 566 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 = eLazyBoolCalculate
protected

◆ m_supports_qXfer_features_read

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_features_read = eLazyBoolCalculate
protected

◆ m_supports_qXfer_libraries_read

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_libraries_read = eLazyBoolCalculate
protected

◆ m_supports_qXfer_libraries_svr4_read

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_libraries_svr4_read = eLazyBoolCalculate
protected

◆ m_supports_qXfer_memory_map_read

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_memory_map_read = eLazyBoolCalculate
protected

◆ m_supports_qXfer_siginfo_read

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_siginfo_read = eLazyBoolCalculate
protected

◆ m_supports_thread_suffix

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_thread_suffix = eLazyBoolCalculate
protected

◆ m_supports_threads_in_stop_reply

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_threads_in_stop_reply = eLazyBoolCalculate
protected

◆ m_supports_vCont_all

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_all = eLazyBoolCalculate
protected

Definition at line 526 of file GDBRemoteCommunicationClient.h.

Referenced by GetVContSupported().

◆ m_supports_vCont_any

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_any = eLazyBoolCalculate
protected

Definition at line 527 of file GDBRemoteCommunicationClient.h.

Referenced by GetVContSupported().

◆ m_supports_vCont_c

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_c = eLazyBoolCalculate
protected

Definition at line 528 of file GDBRemoteCommunicationClient.h.

Referenced by GetVContSupported(), and ResetDiscoverableSettings().

◆ m_supports_vCont_C

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_C = eLazyBoolCalculate
protected

Definition at line 529 of file GDBRemoteCommunicationClient.h.

Referenced by GetVContSupported(), and ResetDiscoverableSettings().

◆ m_supports_vCont_s

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_s = eLazyBoolCalculate
protected

Definition at line 530 of file GDBRemoteCommunicationClient.h.

Referenced by GetVContSupported(), and ResetDiscoverableSettings().

◆ m_supports_vCont_S

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_S = eLazyBoolCalculate
protected

Definition at line 531 of file GDBRemoteCommunicationClient.h.

Referenced by GetVContSupported(), and ResetDiscoverableSettings().

◆ m_supports_vFileExists

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vFileExists
protected

Definition at line 573 of file GDBRemoteCommunicationClient.h.

Referenced by GetFileExists().

◆ m_supports_vFileMode

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vFileMode
protected

Definition at line 573 of file GDBRemoteCommunicationClient.h.

Referenced by GetFilePermissions().

◆ m_supports_vFileSize

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vFileSize
protected

Definition at line 572 of file GDBRemoteCommunicationClient.h.

Referenced by GetFileSize().

◆ m_supports_vRun

bool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vRun
protected

Definition at line 574 of file GDBRemoteCommunicationClient.h.

Referenced by LaunchProcess().

◆ m_supports_watchpoint_support_info

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_watchpoint_support_info = eLazyBoolCalculate
protected

Definition at line 538 of file GDBRemoteCommunicationClient.h.

Referenced by GetWatchpointSlotCount().

◆ m_supports_x

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_x = eLazyBoolCalculate
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_target_vm_page_size

int lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_target_vm_page_size = 0
protected

◆ m_uses_native_signals

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_uses_native_signals = eLazyBoolCalculate
protected

◆ m_watchpoint_types

WatchpointHardwareFeature lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_watchpoint_types
protected
Initial value:
=
eWatchpointHardwareFeatureUnknown

Definition at line 586 of file GDBRemoteCommunicationClient.h.

Referenced by GetRemoteQSupported(), and GetSupportedWatchpointTypes().

◆ m_watchpoints_trigger_after_instruction

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_watchpoints_trigger_after_instruction = eLazyBoolCalculate
protected

Definition at line 540 of file GDBRemoteCommunicationClient.h.

Referenced by GetHostInfo(), and GetWatchpointReportedAfter().


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