LLDB mainline
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient Class Reference

#include <GDBRemoteCommunicationClient.h>

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

Public Types

enum class  xPacketState { Unimplemented , Prefixed , Bare }
Public Types inherited from lldb_private::process_gdb_remote::GDBRemoteClientBase
enum  { eBroadcastBitRunPacketSent = (1u << 0) }
Public Types inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication
enum class  PacketType { Invalid = 0 , Standard , Notify }
enum class  PacketResult {
  Success = 0 , ErrorSendFailed , ErrorSendAck , ErrorReplyFailed ,
  ErrorReplyTimeout , ErrorReplyInvalid , ErrorReplyAck , ErrorDisconnected ,
  ErrorNoSequenceLock
}

Public Member Functions

 GDBRemoteCommunicationClient ()
 ~GDBRemoteCommunicationClient () override
bool HandshakeWithServer (Status *error_ptr)
bool GetThreadSuffixSupported ()
bool QueryNoAckModeSupported ()
void GetListThreadsInStopReplySupported ()
lldb::pid_t GetCurrentProcessID (bool allow_lazy=true)
bool LaunchGDBServer (const char *remote_accept_hostname, lldb::pid_t &pid, uint16_t &port, std::string &socket_name)
size_t QueryGDBServer (std::vector< std::pair< uint16_t, std::string > > &connection_urls)
bool KillSpawnedProcess (lldb::pid_t pid)
llvm::Error LaunchProcess (const Args &args)
 Launch the process using the provided arguments.
int SendEnvironmentPacket (char const *name_equal_value)
 Sends a "QEnvironment:NAME=VALUE" packet that will build up the environment that will get used when launching an application in conjunction with the 'A' packet.
int SendEnvironment (const Environment &env)
int SendLaunchArchPacket (const char *arch)
int SendLaunchEventDataPacket (const char *data, bool *was_supported=nullptr)
int SendStdinNotification (const char *data, size_t data_len)
 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< boolGetWatchpointReportedAfter ()
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)
xPacketState GetxPacketState ()
bool GetVAttachOrWaitSupported ()
bool GetSyncThreadStateSupported ()
void ResetDiscoverableSettings (bool did_exec)
bool GetHostInfo (bool force=false)
bool GetDefaultThreadId (lldb::tid_t &tid)
llvm::VersionTuple GetOSVersion ()
llvm::VersionTuple GetMacCatalystVersion ()
std::optional< std::string > GetOSBuildString ()
std::optional< std::string > GetOSKernelDescription ()
ArchSpec GetSystemArchitecture ()
lldb_private::AddressableBits GetAddressableBits ()
bool GetHostname (std::string &s)
lldb::addr_t GetShlibInfoAddr ()
bool GetProcessInfo (lldb::pid_t pid, ProcessInstanceInfo &process_info)
uint32_t FindProcesses (const ProcessInstanceInfoMatch &process_match_info, ProcessInstanceInfoList &process_infos)
bool GetUserName (uint32_t uid, std::string &name)
bool GetGroupName (uint32_t gid, std::string &name)
bool HasFullVContSupport ()
bool HasAnyVContSupport ()
bool GetStopReply (StringExtractorGDBRemote &response)
bool GetThreadStopInfo (lldb::tid_t tid, StringExtractorGDBRemote &response)
bool SupportsGDBStoppointPacket (GDBStoppointType type)
uint8_t SendGDBStoppointTypePacket (GDBStoppointType type, bool insert, lldb::addr_t addr, uint32_t length, std::chrono::seconds interrupt_timeout)
void TestPacketSpeed (const uint32_t num_packets, uint32_t max_send, uint32_t max_recv, uint64_t recv_amount, bool json, Stream &strm)
bool SendSpeedTestPacket (uint32_t send_size, uint32_t recv_size)
std::optional< 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 ()
bool GetReverseContinueSupported ()
bool GetReverseStepSupported ()
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), bool sync_on_timeout=true)
PacketResult ReadPacketWithOutputSupport (StringExtractorGDBRemote &response, Timeout< std::micro > timeout, bool sync_on_timeout, llvm::function_ref< void(llvm::StringRef)> output_callback)
PacketResult SendPacketAndReceiveResponseWithOutputSupport (llvm::StringRef payload, StringExtractorGDBRemote &response, std::chrono::seconds interrupt_timeout, llvm::function_ref< void(llvm::StringRef)> output_callback)
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
void DumpHistory (Stream &strm)
Public Member Functions inherited from lldb_private::Communication
 Communication ()
 Construct the Communication object.
virtual ~Communication ()
 Destructor.
virtual void Clear ()
lldb::ConnectionStatus Connect (const char *url, Status *error_ptr)
 Connect using the current connection by passing url to its connect function.
virtual lldb::ConnectionStatus Disconnect (Status *error_ptr=nullptr)
 Disconnect the communications connection if one is currently connected.
bool IsConnected () const
 Check if the connection is valid.
bool HasConnection () const
lldb_private::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, bool sync_on_timeout=true)
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 ()
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_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
std::optional< xPacketStatem_x_packet_state
LazyBool m_supports_reverse_continue = eLazyBoolCalculate
LazyBool m_supports_reverse_step = 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

Static Public Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication
static Status StartDebugserverProcess (std::variant< llvm::StringRef, shared_fd_t > comm, ProcessLaunchInfo &launch_info, const Args *inferior_args)
static std::optional< std::string > ExpandRLE (std::string)
 Expand GDB run-length encoding.
Static Public Member Functions inherited from lldb_private::Communication
static std::string ConnectionStatusAsString (lldb::ConnectionStatus status)
Protected Types inherited from lldb_private::Broadcaster
typedef std::shared_ptr< BroadcasterImplBroadcasterImplSP
typedef std::weak_ptr< BroadcasterImplBroadcasterImplWP

Detailed Description

Definition at line 60 of file GDBRemoteCommunicationClient.h.

Member Enumeration Documentation

◆ xPacketState

Enumerator
Unimplemented 
Prefixed 
Bare 

Definition at line 221 of file GDBRemoteCommunicationClient.h.

Constructor & Destructor Documentation

◆ GDBRemoteCommunicationClient() [1/2]

◆ ~GDBRemoteCommunicationClient()

GDBRemoteCommunicationClient::~GDBRemoteCommunicationClient ( )
override

◆ GDBRemoteCommunicationClient() [2/2]

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

Member Function Documentation

◆ AllocateMemory()

◆ AutoCompleteDiskFileOrDirectory()

◆ AvoidGPackets()

◆ CalculateMD5()

◆ CloseFile()

◆ ConfigureRemoteStructuredData()

◆ CreateSymlink()

◆ DeallocateMemory()

◆ DecodeProcessInfoResponse()

◆ Detach()

◆ EnableErrorStringInPacket()

◆ FindProcesses()

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

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

◆ GetAddressableBits()

◆ GetAugmentedLibrariesSVR4ReadSupported()

bool GDBRemoteCommunicationClient::GetAugmentedLibrariesSVR4ReadSupported ( )

◆ GetCurrentProcessAndThreadIDs()

◆ GetCurrentProcessID()

◆ GetCurrentProcessInfo()

◆ GetCurrentThreadIDs()

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

◆ GetDefaultThreadId()

◆ GetDynamicLoaderProcessStateSupported()

◆ GetEchoSupported()

◆ GetFileExists()

◆ GetFilePermissions()

◆ GetFileSize()

◆ GetGDBServerProgramName()

const char * GDBRemoteCommunicationClient::GetGDBServerProgramName ( )

Definition at line 1173 of file GDBRemoteCommunicationClient.cpp.

References GetGDBServerVersion(), and m_gdb_server_name.

Referenced by AvoidGPackets().

◆ GetGDBServerProgramVersion()

uint32_t GDBRemoteCommunicationClient::GetGDBServerProgramVersion ( )

Definition at line 1181 of file GDBRemoteCommunicationClient.cpp.

References GetGDBServerVersion(), and m_gdb_server_version.

Referenced by AvoidGPackets().

◆ GetGDBServerVersion()

◆ GetGroupName()

◆ GetHostArchitecture()

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

◆ GetHostDefaultPacketTimeout()

seconds GDBRemoteCommunicationClient::GetHostDefaultPacketTimeout ( )

◆ GetHostInfo()

◆ GetHostname()

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

Definition at line 1023 of file GDBRemoteCommunicationClient.cpp.

References GetHostInfo(), and m_hostname.

◆ GetListThreadsInStopReplySupported()

◆ GetLoadedDynamicLibrariesInfosSupported()

◆ GetMacCatalystVersion()

llvm::VersionTuple GDBRemoteCommunicationClient::GetMacCatalystVersion ( )

Definition at line 1001 of file GDBRemoteCommunicationClient.cpp.

References GetHostInfo(), and m_maccatalyst_version.

◆ GetMemoryRegionInfo()

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

Definition at line 1574 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::Status::FromErrorString(), lldb_private::MemoryRegionInfo::GetBlocksize(), lldb_private::MemoryRegionInfo::GetFlash(), StringExtractor::GetHexByteString(), StringExtractor::GetNameColonValue(), GetQXferMemoryMapRegionInfo(), lldb_private::MemoryRegionInfo::GetRange(), lldb_private::Range< B, S >::GetRangeBase(), lldb_private::Range< B, S >::GetRangeEnd(), StringExtractorGDBRemote::GetResponseType(), lldb_private::Range< B, S >::IsValid(), LLDB_INVALID_ADDRESS, m_supports_memory_region_info, m_target_vm_page_size, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::MemoryRegionInfo::SetBlocksize(), lldb_private::Range< B, S >::SetByteSize(), lldb_private::MemoryRegionInfo::SetDirtyPageList(), lldb_private::MemoryRegionInfo::SetExecutable(), lldb_private::MemoryRegionInfo::SetFlash(), lldb_private::MemoryRegionInfo::SetIsShadowStack(), lldb_private::MemoryRegionInfo::SetIsStackMemory(), lldb_private::MemoryRegionInfo::SetMapped(), lldb_private::MemoryRegionInfo::SetMemoryTagged(), lldb_private::MemoryRegionInfo::SetName(), lldb_private::MemoryRegionInfo::SetPageSize(), lldb_private::Range< B, S >::SetRangeBase(), lldb_private::Range< B, S >::SetRangeEnd(), lldb_private::MemoryRegionInfo::SetReadable(), lldb_private::MemoryRegionInfo::SetWritable(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, lldb_private::Status::Success(), and UNUSED_IF_ASSERT_DISABLED.

◆ GetMemoryTaggingSupported()

bool GDBRemoteCommunicationClient::GetMemoryTaggingSupported ( )

◆ GetModuleInfo()

◆ GetModulesInfo()

◆ GetMultiprocessSupported()

bool GDBRemoteCommunicationClient::GetMultiprocessSupported ( )

◆ GetOSBuildString()

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

Definition at line 1006 of file GDBRemoteCommunicationClient.cpp.

References GetHostInfo(), and m_os_build.

◆ GetOSKernelDescription()

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

Definition at line 1015 of file GDBRemoteCommunicationClient.cpp.

References GetHostInfo(), and m_os_kernel.

◆ GetOSVersion()

llvm::VersionTuple GDBRemoteCommunicationClient::GetOSVersion ( )

Definition at line 996 of file GDBRemoteCommunicationClient.cpp.

References GetHostInfo(), and m_os_version.

◆ GetpPacketSupported()

◆ GetProcessArchitecture()

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

◆ GetProcessInfo()

◆ GetProcessStandaloneBinaries()

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

◆ GetProcessStandaloneBinary()

◆ GetQOffsets()

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

◆ GetQPassSignalsSupported()

bool GDBRemoteCommunicationClient::GetQPassSignalsSupported ( )

◆ GetQXferAuxvReadSupported()

bool GDBRemoteCommunicationClient::GetQXferAuxvReadSupported ( )

◆ GetQXferFeaturesReadSupported()

bool GDBRemoteCommunicationClient::GetQXferFeaturesReadSupported ( )

◆ GetQXferLibrariesReadSupported()

◆ GetQXferLibrariesSVR4ReadSupported()

◆ GetQXferMemoryMapReadSupported()

bool GDBRemoteCommunicationClient::GetQXferMemoryMapReadSupported ( )

◆ GetQXferMemoryMapRegionInfo()

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

◆ GetQXferSigInfoReadSupported()

◆ GetRemoteMaxPacketSize()

uint64_t GDBRemoteCommunicationClient::GetRemoteMaxPacketSize ( )

Definition at line 195 of file GDBRemoteCommunicationClient.cpp.

References GetRemoteQSupported(), and m_max_packet_size.

Referenced by ReadExtFeature().

◆ GetRemoteQSupported()

void GDBRemoteCommunicationClient::GetRemoteQSupported ( )

Definition at line 350 of file GDBRemoteCommunicationClient.cpp.

References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractor::GetHexMaxU64(), lldb_private::GetLog(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), LLDB_LOGF, m_max_packet_size, m_qSupported_response, m_supports_augmented_libraries_svr4_read, m_supports_memory_tagging, m_supports_multiprocess, lldb_private::process_gdb_remote::GDBRemoteCommunication::m_supports_qEcho, m_supports_QPassSignals, m_supports_qSaveCore, m_supports_qXfer_auxv_read, m_supports_qXfer_features_read, m_supports_qXfer_libraries_read, m_supports_qXfer_libraries_svr4_read, m_supports_qXfer_memory_map_read, m_supports_qXfer_siginfo_read, m_supports_reverse_continue, m_supports_reverse_step, m_uses_native_signals, m_watchpoint_types, m_x_packet_state, MaybeEnableCompression(), Prefixed, lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT64_MAX.

Referenced by GetAugmentedLibrariesSVR4ReadSupported(), GetEchoSupported(), GetMemoryTaggingSupported(), GetMultiprocessSupported(), GetQPassSignalsSupported(), GetQXferAuxvReadSupported(), GetQXferFeaturesReadSupported(), GetQXferLibrariesReadSupported(), GetQXferLibrariesSVR4ReadSupported(), GetQXferMemoryMapReadSupported(), GetQXferSigInfoReadSupported(), GetRemoteMaxPacketSize(), GetReverseContinueSupported(), GetReverseStepSupported(), GetxPacketState(), and UsesNativeSignals().

◆ GetReverseContinueSupported()

bool GDBRemoteCommunicationClient::GetReverseContinueSupported ( )

◆ GetReverseStepSupported()

bool GDBRemoteCommunicationClient::GetReverseStepSupported ( )

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

References m_qSupported_response.

◆ GetSharedCacheInfoSupported()

◆ GetShlibInfoAddr()

◆ GetStopReply()

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

◆ GetSupportedWatchpointTypes()

WatchpointHardwareFeature GDBRemoteCommunicationClient::GetSupportedWatchpointTypes ( )

Definition at line 1864 of file GDBRemoteCommunicationClient.cpp.

References m_watchpoint_types.

◆ GetSyncThreadStateSupported()

◆ GetSystemArchitecture()

ArchSpec GDBRemoteCommunicationClient::GetSystemArchitecture ( )

Definition at line 1034 of file GDBRemoteCommunicationClient.cpp.

References GetHostInfo(), and m_host_arch.

◆ GetThreadExtendedInfoSupported()

◆ GetThreadPacketSupported()

◆ GetThreadsInfo()

◆ GetThreadStopInfo()

◆ GetThreadSuffixSupported()

◆ GetUserName()

◆ GetVAttachOrWaitSupported()

◆ GetVContSupported()

◆ GetWatchpointReportedAfter()

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

◆ GetWatchpointSlotCount()

◆ GetWorkingDir()

bool GDBRemoteCommunicationClient::GetWorkingDir ( FileSpec & working_dir)

◆ GetxPacketState()

◆ HandshakeWithServer()

◆ HasAnyVContSupport()

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

Definition at line 267 of file GDBRemoteCommunicationClient.h.

References GetVContSupported().

◆ HasFullVContSupport()

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

Definition at line 265 of file GDBRemoteCommunicationClient.h.

References GetVContSupported().

◆ KillProcess()

◆ KillSpawnedProcess()

◆ LaunchGDBServer()

◆ LaunchProcess()

◆ LoadQXferMemoryMap()

◆ MakeDirectory()

◆ MaybeEnableCompression()

◆ OnRunPacketSent()

void GDBRemoteCommunicationClient::OnRunPacketSent ( bool first)
overrideprotectedvirtual

◆ OpenFile()

◆ operator=()

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

◆ QueryGDBServer()

◆ QueryNoAckModeSupported()

◆ ReadAllRegisters()

◆ ReadExtFeature()

◆ ReadFile()

◆ ReadMemoryTags()

◆ ReadRegister()

◆ ResetDiscoverableSettings()

void GDBRemoteCommunicationClient::ResetDiscoverableSettings ( bool did_exec)

Definition at line 279 of file GDBRemoteCommunicationClient.cpp.

References lldb_private::eLazyBoolCalculate, m_attach_or_wait_reply, m_avoid_g_packets, m_curr_pid_is_valid, m_default_packet_timeout, m_gdb_server_name, m_gdb_server_version, m_host_arch, m_host_distribution_id, m_hostname, m_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_reverse_continue, m_supports_reverse_step, m_supports_thread_suffix, m_supports_threads_in_stop_reply, m_supports_vCont_C, m_supports_vCont_c, m_supports_vCont_S, m_supports_vCont_s, m_supports_z0, m_supports_z1, m_supports_z2, m_supports_z3, m_supports_z4, m_target_vm_page_size, m_uses_native_signals, m_x_packet_state, and UINT32_MAX.

Referenced by HandshakeWithServer().

◆ RestoreRegisterState()

◆ RunShellCommand()

◆ SaveRegisterState()

◆ SendEnvironment()

int GDBRemoteCommunicationClient::SendEnvironment ( const Environment & env)

Definition at line 871 of file GDBRemoteCommunicationClient.cpp.

References SendEnvironmentPacket().

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

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

◆ SendLaunchEventDataPacket()

◆ SendSetCurrentThreadPacket()

◆ SendSignalsToIgnore()

◆ SendSpeedTestPacket()

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

◆ SendThreadSpecificPacketAndWaitForResponse()

◆ SendTraceGetBinaryData()

◆ SendTraceGetState()

◆ SendTraceStart()

◆ SendTraceStop()

◆ SendTraceSupported()

◆ ServeSymbolLookups()

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

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

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

Sets the DetachOnError flag to enable for the process controlled by the stub.

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

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

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

◆ SetFilePermissions()

◆ SetSTDERR()

◆ SetSTDIN()

int GDBRemoteCommunicationClient::SetSTDIN ( const FileSpec & file_spec)

Sets the path to use for stdin/out/err for a process that will be launched with the 'A' packet.

Parameters
[in]file_specThe path to use for stdin/out/err
Returns
Zero if the for success, or an error code for failure.

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

◆ SetSTDOUT()

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

◆ Stat()

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

◆ SupportsAllocDeallocMemory()

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

Definition at line 345 of file GDBRemoteCommunicationClient.h.

References m_supports_alloc_dealloc_memory.

◆ SupportsGDBStoppointPacket()

◆ SyncThreadState()

◆ TestPacketSpeed()

◆ Unlink()

◆ UsesNativeSignals()

◆ WriteAllRegisters()

◆ WriteFile()

◆ WriteMemoryTags()

◆ WriteRegister()

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 555 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 590 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 592 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 594 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 596 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 602 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

◆ 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 601 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 612 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 598 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 630 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 550 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 569 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 566 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

◆ m_supports_jThreadExtendedInfo

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

Definition at line 564 of file GDBRemoteCommunicationClient.h.

Referenced by GetThreadExtendedInfoSupported().

◆ m_supports_jThreadsInfo

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

Definition at line 584 of file GDBRemoteCommunicationClient.h.

Referenced by GDBRemoteCommunicationClient(), and 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

◆ m_supports_qGroupName

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

◆ m_supports_qModuleInfo

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

◆ 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

◆ 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

◆ m_supports_qUserName

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

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

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

◆ m_supports_reverse_step

LazyBool lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_reverse_step = 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 537 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 538 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 540 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 539 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 542 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 541 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 586 of file GDBRemoteCommunicationClient.h.

Referenced by GDBRemoteCommunicationClient(), and GetFileExists().

◆ m_supports_vFileMode

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

◆ m_supports_vFileSize

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

Definition at line 585 of file GDBRemoteCommunicationClient.h.

Referenced by GDBRemoteCommunicationClient(), and GetFileSize().

◆ m_supports_vRun

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

Definition at line 587 of file GDBRemoteCommunicationClient.h.

Referenced by GDBRemoteCommunicationClient(), and LaunchProcess().

◆ m_supports_watchpoint_support_info

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

Definition at line 549 of file GDBRemoteCommunicationClient.h.

Referenced by GetWatchpointSlotCount().

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

Referenced by GetHostInfo(), and GetWatchpointReportedAfter().

◆ m_x_packet_state

std::optional<xPacketState> lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_x_packet_state
protected

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