LLDB  mainline
GDBRemoteCommunicationClient.h
Go to the documentation of this file.
1 //===-- GDBRemoteCommunicationClient.h --------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_SOURCE_PLUGINS_PROCESS_GDB_REMOTE_GDBREMOTECOMMUNICATIONCLIENT_H
10 #define LLDB_SOURCE_PLUGINS_PROCESS_GDB_REMOTE_GDBREMOTECOMMUNICATIONCLIENT_H
11 
12 #include "GDBRemoteClientBase.h"
13 
14 #include <chrono>
15 #include <map>
16 #include <mutex>
17 #include <string>
18 #include <vector>
19 
20 #include "lldb/Host/File.h"
21 #include "lldb/Utility/ArchSpec.h"
22 #include "lldb/Utility/GDBRemote.h"
26 #if defined(_WIN32)
28 #endif
29 
30 #include "llvm/ADT/Optional.h"
31 #include "llvm/Support/VersionTuple.h"
32 
33 namespace lldb_private {
34 namespace process_gdb_remote {
35 
36 /// The offsets used by the target when relocating the executable. Decoded from
37 /// qOffsets packet response.
38 struct QOffsets {
39  /// If true, the offsets field describes segments. Otherwise, it describes
40  /// sections.
41  bool segments;
42 
43  /// The individual offsets. Section offsets have two or three members.
44  /// Segment offsets have either one of two.
45  std::vector<uint64_t> offsets;
46 };
47 inline bool operator==(const QOffsets &a, const QOffsets &b) {
48  return a.segments == b.segments && a.offsets == b.offsets;
49 }
50 llvm::raw_ostream &operator<<(llvm::raw_ostream &os, const QOffsets &offsets);
51 
52 // A trivial struct used to return a pair of PID and TID.
53 struct PidTid {
54  uint64_t pid;
55  uint64_t tid;
56 };
57 
59 public:
61 
63 
64  // After connecting, send the handshake to the server to make sure
65  // we are communicating with it.
66  bool HandshakeWithServer(Status *error_ptr);
67 
69 
70  // This packet is usually sent first and the boolean return value
71  // indicates if the packet was send and any response was received
72  // even in the response is UNIMPLEMENTED. If the packet failed to
73  // get a response, then false is returned. This quickly tells us
74  // if we were able to connect and communicate with the remote GDB
75  // server
77 
79 
80  lldb::pid_t GetCurrentProcessID(bool allow_lazy = true);
81 
82  bool GetLaunchSuccess(std::string &error_str);
83 
84  bool LaunchGDBServer(const char *remote_accept_hostname, lldb::pid_t &pid,
85  uint16_t &port, std::string &socket_name);
86 
87  size_t QueryGDBServer(
88  std::vector<std::pair<uint16_t, std::string>> &connection_urls);
89 
91 
92  /// Sends a GDB remote protocol 'A' packet that delivers program
93  /// arguments to the remote server.
94  ///
95  /// \param[in] launch_info
96  /// A NULL terminated array of const C strings to use as the
97  /// arguments.
98  ///
99  /// \return
100  /// Zero if the response was "OK", a positive value if the
101  /// the response was "Exx" where xx are two hex digits, or
102  /// -1 if the call is unsupported or any other unexpected
103  /// response was received.
104  int SendArgumentsPacket(const ProcessLaunchInfo &launch_info);
105 
106  /// Sends a "QEnvironment:NAME=VALUE" packet that will build up the
107  /// environment that will get used when launching an application
108  /// in conjunction with the 'A' packet. This function can be called
109  /// multiple times in a row in order to pass on the desired
110  /// environment that the inferior should be launched with.
111  ///
112  /// \param[in] name_equal_value
113  /// A NULL terminated C string that contains a single environment
114  /// in the format "NAME=VALUE".
115  ///
116  /// \return
117  /// Zero if the response was "OK", a positive value if the
118  /// the response was "Exx" where xx are two hex digits, or
119  /// -1 if the call is unsupported or any other unexpected
120  /// response was received.
121  int SendEnvironmentPacket(char const *name_equal_value);
122  int SendEnvironment(const Environment &env);
123 
124  int SendLaunchArchPacket(const char *arch);
125 
126  int SendLaunchEventDataPacket(const char *data,
127  bool *was_supported = nullptr);
128 
129  /// Sends a GDB remote protocol 'I' packet that delivers stdin
130  /// data to the remote process.
131  ///
132  /// \param[in] data
133  /// A pointer to stdin data.
134  ///
135  /// \param[in] data_len
136  /// The number of bytes available at \a data.
137  ///
138  /// \return
139  /// Zero if the attach was successful, or an error indicating
140  /// an error code.
141  int SendStdinNotification(const char *data, size_t data_len);
142 
143  /// Sets the path to use for stdin/out/err for a process
144  /// that will be launched with the 'A' packet.
145  ///
146  /// \param[in] file_spec
147  /// The path to use for stdin/out/err
148  ///
149  /// \return
150  /// Zero if the for success, or an error code for failure.
151  int SetSTDIN(const FileSpec &file_spec);
152  int SetSTDOUT(const FileSpec &file_spec);
153  int SetSTDERR(const FileSpec &file_spec);
154 
155  /// Sets the disable ASLR flag to \a enable for a process that will
156  /// be launched with the 'A' packet.
157  ///
158  /// \param[in] enable
159  /// A boolean value indicating whether to disable ASLR or not.
160  ///
161  /// \return
162  /// Zero if the for success, or an error code for failure.
163  int SetDisableASLR(bool enable);
164 
165  /// Sets the DetachOnError flag to \a enable for the process controlled by the
166  /// stub.
167  ///
168  /// \param[in] enable
169  /// A boolean value indicating whether to detach on error or not.
170  ///
171  /// \return
172  /// Zero if the for success, or an error code for failure.
173  int SetDetachOnError(bool enable);
174 
175  /// Sets the working directory to \a path for a process that will
176  /// be launched with the 'A' packet for non platform based
177  /// connections. If this packet is sent to a GDB server that
178  /// implements the platform, it will change the current working
179  /// directory for the platform process.
180  ///
181  /// \param[in] working_dir
182  /// The path to a directory to use when launching our process
183  ///
184  /// \return
185  /// Zero if the for success, or an error code for failure.
186  int SetWorkingDir(const FileSpec &working_dir);
187 
188  /// Gets the current working directory of a remote platform GDB
189  /// server.
190  ///
191  /// \param[out] working_dir
192  /// The current working directory on the remote platform.
193  ///
194  /// \return
195  /// Boolean for success
196  bool GetWorkingDir(FileSpec &working_dir);
197 
198  lldb::addr_t AllocateMemory(size_t size, uint32_t permissions);
199 
200  bool DeallocateMemory(lldb::addr_t addr);
201 
202  Status Detach(bool keep_stopped, lldb::pid_t pid = LLDB_INVALID_PROCESS_ID);
203 
205 
207 
208  Status GetWatchpointSupportInfo(uint32_t &num, bool &after,
209  const ArchSpec &arch);
210 
212  const ArchSpec &arch);
213 
214  const ArchSpec &GetHostArchitecture();
215 
216  std::chrono::seconds GetHostDefaultPacketTimeout();
217 
219 
220  bool GetProcessStandaloneBinary(UUID &uuid, lldb::addr_t &value,
221  bool &value_is_offset);
222 
223  void GetRemoteQSupported();
224 
225  bool GetVContSupported(char flavor);
226 
228 
229  bool GetxPacketSupported();
230 
232 
234 
235  void ResetDiscoverableSettings(bool did_exec);
236 
237  bool GetHostInfo(bool force = false);
238 
239  bool GetDefaultThreadId(lldb::tid_t &tid);
240 
241  llvm::VersionTuple GetOSVersion();
242 
243  llvm::VersionTuple GetMacCatalystVersion();
244 
245  llvm::Optional<std::string> GetOSBuildString();
246 
247  llvm::Optional<std::string> GetOSKernelDescription();
248 
250 
252 
253  bool GetHostname(std::string &s);
254 
256 
258 
259  bool GetProcessInfo(lldb::pid_t pid, ProcessInstanceInfo &process_info);
260 
261  uint32_t FindProcesses(const ProcessInstanceInfoMatch &process_match_info,
262  ProcessInstanceInfoList &process_infos);
263 
264  bool GetUserName(uint32_t uid, std::string &name);
265 
266  bool GetGroupName(uint32_t gid, std::string &name);
267 
268  bool HasFullVContSupport() { return GetVContSupported('A'); }
269 
270  bool HasAnyVContSupport() { return GetVContSupported('a'); }
271 
272  bool GetStopReply(StringExtractorGDBRemote &response);
273 
275 
277  switch (type) {
278  case eBreakpointSoftware:
279  return m_supports_z0;
280  case eBreakpointHardware:
281  return m_supports_z1;
282  case eWatchpointWrite:
283  return m_supports_z2;
284  case eWatchpointRead:
285  return m_supports_z3;
287  return m_supports_z4;
288  default:
289  return false;
290  }
291  }
292 
294  GDBStoppointType type, // Type of breakpoint or watchpoint
295  bool insert, // Insert or remove?
296  lldb::addr_t addr, // Address of breakpoint or watchpoint
297  uint32_t length, // Byte Size of breakpoint or watchpoint
298  std::chrono::seconds interrupt_timeout); // Time to wait for an interrupt
299 
300  void TestPacketSpeed(const uint32_t num_packets, uint32_t max_send,
301  uint32_t max_recv, uint64_t recv_amount, bool json,
302  Stream &strm);
303 
304  // This packet is for testing the speed of the interface only. Both
305  // the client and server need to support it, but this allows us to
306  // measure the packet speed without any other work being done on the
307  // other end and avoids any of that work affecting the packet send
308  // and response times.
309  bool SendSpeedTestPacket(uint32_t send_size, uint32_t recv_size);
310 
311  llvm::Optional<PidTid>
312  SendSetCurrentThreadPacket(uint64_t tid, uint64_t pid, char op);
313 
314  bool SetCurrentThread(uint64_t tid,
316 
317  bool SetCurrentThreadForRun(uint64_t tid,
319 
321 
323 
325 
327 
328  uint64_t GetRemoteMaxPacketSize();
329 
330  bool GetEchoSupported();
331 
333 
335 
337 
339 
341 
343  {
344  // Uncomment this to have lldb pretend the debug server doesn't respond to
345  // alloc/dealloc memory packets.
346  // m_supports_alloc_dealloc_memory = lldb_private::eLazyBoolNo;
348  }
349 
350  std::vector<std::pair<lldb::pid_t, lldb::tid_t>>
351  GetCurrentProcessAndThreadIDs(bool &sequence_mutex_unavailable);
352 
353  size_t GetCurrentThreadIDs(std::vector<lldb::tid_t> &thread_ids,
354  bool &sequence_mutex_unavailable);
355 
356  lldb::user_id_t OpenFile(const FileSpec &file_spec, File::OpenOptions flags,
357  mode_t mode, Status &error);
358 
360 
361  llvm::Optional<GDBRemoteFStatData> FStat(lldb::user_id_t fd);
362 
363  // NB: this is just a convenience wrapper over open() + fstat(). It does not
364  // work if the file cannot be opened.
365  llvm::Optional<GDBRemoteFStatData> Stat(const FileSpec &file_spec);
366 
367  lldb::user_id_t GetFileSize(const FileSpec &file_spec);
368 
370  bool only_dir);
371 
372  Status GetFilePermissions(const FileSpec &file_spec,
373  uint32_t &file_permissions);
374 
375  Status SetFilePermissions(const FileSpec &file_spec,
376  uint32_t file_permissions);
377 
378  uint64_t ReadFile(lldb::user_id_t fd, uint64_t offset, void *dst,
379  uint64_t dst_len, Status &error);
380 
381  uint64_t WriteFile(lldb::user_id_t fd, uint64_t offset, const void *src,
382  uint64_t src_len, Status &error);
383 
384  Status CreateSymlink(const FileSpec &src, const FileSpec &dst);
385 
386  Status Unlink(const FileSpec &file_spec);
387 
388  Status MakeDirectory(const FileSpec &file_spec, uint32_t mode);
389 
390  bool GetFileExists(const FileSpec &file_spec);
391 
393  llvm::StringRef command,
394  const FileSpec &working_dir, // Pass empty FileSpec to use the current
395  // working directory
396  int *status_ptr, // Pass nullptr if you don't want the process exit status
397  int *signo_ptr, // Pass nullptr if you don't want the signal that caused
398  // the process to exit
400  *command_output, // Pass nullptr if you don't want the command output
401  const Timeout<std::micro> &timeout);
402 
403  bool CalculateMD5(const FileSpec &file_spec, uint64_t &high, uint64_t &low);
404 
405  lldb::DataBufferSP ReadRegister(
406  lldb::tid_t tid,
407  uint32_t
408  reg_num); // Must be the eRegisterKindProcessPlugin register number
409 
410  lldb::DataBufferSP ReadAllRegisters(lldb::tid_t tid);
411 
412  bool
414  uint32_t reg_num, // eRegisterKindProcessPlugin register number
415  llvm::ArrayRef<uint8_t> data);
416 
417  bool WriteAllRegisters(lldb::tid_t tid, llvm::ArrayRef<uint8_t> data);
418 
419  bool SaveRegisterState(lldb::tid_t tid, uint32_t &save_id);
420 
421  bool RestoreRegisterState(lldb::tid_t tid, uint32_t save_id);
422 
423  bool SyncThreadState(lldb::tid_t tid);
424 
425  const char *GetGDBServerProgramName();
426 
428 
429  bool AvoidGPackets(ProcessGDBRemote *process);
430 
432 
434 
436 
438 
440 
441  bool UsesNativeSignals();
442 
443  lldb::DataBufferSP ReadMemoryTags(lldb::addr_t addr, size_t len,
444  int32_t type);
445 
446  Status WriteMemoryTags(lldb::addr_t addr, size_t len, int32_t type,
447  const std::vector<uint8_t> &tags);
448 
449  /// Use qOffsets to query the offset used when relocating the target
450  /// executable. If successful, the returned structure will contain at least
451  /// one value in the offsets field.
452  llvm::Optional<QOffsets> GetQOffsets();
453 
454  bool GetModuleInfo(const FileSpec &module_file_spec,
455  const ArchSpec &arch_spec, ModuleSpec &module_spec);
456 
457  llvm::Optional<std::vector<ModuleSpec>>
458  GetModulesInfo(llvm::ArrayRef<FileSpec> module_file_specs,
459  const llvm::Triple &triple);
460 
461  llvm::Expected<std::string> ReadExtFeature(llvm::StringRef object,
462  llvm::StringRef annex);
463 
465 
466  // Sends QPassSignals packet to the server with given signals to ignore.
467  Status SendSignalsToIgnore(llvm::ArrayRef<int32_t> signals);
468 
469  /// Return the feature set supported by the gdb-remote server.
470  ///
471  /// This method returns the remote side's response to the qSupported
472  /// packet. The response is the complete string payload returned
473  /// to the client.
474  ///
475  /// \return
476  /// The string returned by the server to the qSupported query.
478  return m_qSupported_response;
479  }
480 
481  /// Return the array of async JSON packet types supported by the remote.
482  ///
483  /// This method returns the remote side's array of supported JSON
484  /// packet types as a list of type names. Each of the results are
485  /// expected to have an Enable{type_name} command to enable and configure
486  /// the related feature. Each type_name for an enabled feature will
487  /// possibly send async-style packets that contain a payload of a
488  /// binhex-encoded JSON dictionary. The dictionary will have a
489  /// string field named 'type', that contains the type_name of the
490  /// supported packet type.
491  ///
492  /// There is a Plugin category called structured-data plugins.
493  /// A plugin indicates whether it knows how to handle a type_name.
494  /// If so, it can be used to process the async JSON packet.
495  ///
496  /// \return
497  /// The string returned by the server to the qSupported query.
499 
500  /// Configure a StructuredData feature on the remote end.
501  ///
502  /// \see \b Process::ConfigureStructuredData(...) for details.
503  Status
505  const StructuredData::ObjectSP &config_sp);
506 
507  llvm::Expected<TraceSupportedResponse>
508  SendTraceSupported(std::chrono::seconds interrupt_timeout);
509 
510  llvm::Error SendTraceStart(const llvm::json::Value &request,
511  std::chrono::seconds interrupt_timeout);
512 
514  std::chrono::seconds interrupt_timeout);
515 
516  llvm::Expected<std::string>
517  SendTraceGetState(llvm::StringRef type,
518  std::chrono::seconds interrupt_timeout);
519 
520  llvm::Expected<std::vector<uint8_t>>
522  std::chrono::seconds interrupt_timeout);
523 
524  bool GetSaveCoreSupported() const;
525 
526 protected:
567 
578 
579  /// Current gdb remote protocol process identifier for all other operations
581  /// Current gdb remote protocol process identifier for continue, step, etc
583  /// Current gdb remote protocol thread identifier for all other operations
585  /// Current gdb remote protocol thread identifier for continue, step, etc
587 
590 
596  llvm::VersionTuple m_os_version;
597  llvm::VersionTuple m_maccatalyst_version;
601  std::string m_gdb_server_name; // from reply to qGDBServerVersion, empty if
602  // qGDBServerVersion is not supported
604  UINT32_MAX; // from reply to qGDBServerVersion, zero if
605  // qGDBServerVersion is not supported
606  std::chrono::seconds m_default_packet_timeout;
607  int m_target_vm_page_size = 0; // target system VM page size; 0 unspecified
608  uint64_t m_max_packet_size = 0; // as returned by qSupported
609  std::string m_qSupported_response; // the complete response to qSupported
610 
613 
614  std::vector<MemoryRegionInfo> m_qXfer_memory_map;
616 
617  bool GetCurrentProcessInfo(bool allow_lazy_pid = true);
618 
619  bool GetGDBServerVersion();
620 
621  // Given the list of compression types that the remote debug stub can support,
622  // possibly enable compression if we find an encoding we can handle.
624  llvm::ArrayRef<llvm::StringRef> supported_compressions);
625 
627  ProcessInstanceInfo &process_info);
628 
629  void OnRunPacketSent(bool first) override;
630 
632  lldb::tid_t tid, StreamString &&payload,
633  StringExtractorGDBRemote &response);
634 
636  lldb::tid_t thread_id,
637  llvm::MutableArrayRef<uint8_t> &buffer,
638  size_t offset);
639 
641 
643  MemoryRegionInfo &region);
644 
645  LazyBool GetThreadPacketSupported(lldb::tid_t tid, llvm::StringRef packetStr);
646 
647 private:
650  operator=(const GDBRemoteCommunicationClient &) = delete;
651 };
652 
653 } // namespace process_gdb_remote
654 } // namespace lldb_private
655 
656 #endif // LLDB_SOURCE_PLUGINS_PROCESS_GDB_REMOTE_GDBREMOTECOMMUNICATIONCLIENT_H
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetSaveCoreSupported
bool GetSaveCoreSupported() const
Definition: GDBRemoteCommunicationClient.cpp:529
lldb_private::process_gdb_remote::QOffsets::offsets
std::vector< uint64_t > offsets
The individual offsets.
Definition: GDBRemoteCommunicationClient.h:45
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendGDBStoppointTypePacket
uint8_t SendGDBStoppointTypePacket(GDBStoppointType type, bool insert, lldb::addr_t addr, uint32_t length, std::chrono::seconds interrupt_timeout)
Definition: GDBRemoteCommunicationClient.cpp:2778
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendTraceGetBinaryData
llvm::Expected< std::vector< uint8_t > > SendTraceGetBinaryData(const TraceGetBinaryDataRequest &request, std::chrono::seconds interrupt_timeout)
Definition: GDBRemoteCommunicationClient.cpp:3684
lldb_private::ProcessInstanceInfo
Definition: ProcessInfo.h:108
lldb_private::UUID
Definition: UUID.h:23
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::WriteFile
uint64_t WriteFile(lldb::user_id_t fd, uint64_t offset, const void *src, uint64_t src_len, Status &error)
Definition: GDBRemoteCommunicationClient.cpp:3259
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SyncThreadState
bool SyncThreadState(lldb::tid_t tid)
Definition: GDBRemoteCommunicationClient.cpp:3542
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vFileExists
bool m_supports_vFileExists
Definition: GDBRemoteCommunicationClient.h:576
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qSaveCore
LazyBool m_supports_qSaveCore
Definition: GDBRemoteCommunicationClient.h:565
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_not_sending_acks
LazyBool m_supports_not_sending_acks
Definition: GDBRemoteCommunicationClient.h:527
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_host_arch
ArchSpec m_host_arch
Definition: GDBRemoteCommunicationClient.h:591
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetSharedCacheInfoSupported
bool GetSharedCacheInfoSupported()
Definition: GDBRemoteCommunicationClient.cpp:596
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetRemoteQSupported
void GetRemoteQSupported()
Definition: GDBRemoteCommunicationClient.cpp:324
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetLoadedDynamicLibrariesInfosSupported
bool GetLoadedDynamicLibrariesInfosSupported()
Definition: GDBRemoteCommunicationClient.cpp:582
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_memory_tagging
LazyBool m_supports_memory_tagging
Definition: GDBRemoteCommunicationClient.h:564
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_os_kernel
std::string m_os_kernel
Definition: GDBRemoteCommunicationClient.h:599
lldb_private::process_gdb_remote::operator==
bool operator==(const QOffsets &a, const QOffsets &b)
Definition: GDBRemoteCommunicationClient.h:47
lldb_private::ArchSpec
Definition: ArchSpec.h:33
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetSTDIN
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.
Definition: GDBRemoteCommunicationClient.cpp:1862
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::FindProcesses
uint32_t FindProcesses(const ProcessInstanceInfoMatch &process_match_info, ProcessInstanceInfoList &process_infos)
Definition: GDBRemoteCommunicationClient.cpp:2261
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::QueryNoAckModeSupported
bool QueryNoAckModeSupported()
Definition: GDBRemoteCommunicationClient.cpp:191
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_siginfo_read
LazyBool m_supports_qXfer_siginfo_read
Definition: GDBRemoteCommunicationClient.h:556
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetQPassSignalsSupported
bool GetQPassSignalsSupported()
Definition: GDBRemoteCommunicationClient.cpp:128
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetOSBuildString
llvm::Optional< std::string > GetOSBuildString()
Definition: GDBRemoteCommunicationClient.cpp:978
lldb_private::TraceGetBinaryDataRequest
jLLDBTraceGetBinaryData gdb-remote packet
Definition: TraceGDBRemotePackets.h:149
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qfProcessInfo
bool m_supports_qfProcessInfo
Definition: GDBRemoteCommunicationClient.h:568
GDBRemoteClientBase.h
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMacCatalystVersion
llvm::VersionTuple GetMacCatalystVersion()
Definition: GDBRemoteCommunicationClient.cpp:973
LLDB_INVALID_PROCESS_ID
#define LLDB_INVALID_PROCESS_ID
Definition: lldb-defines.h:81
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::TestPacketSpeed
void TestPacketSpeed(const uint32_t num_packets, uint32_t max_send, uint32_t max_recv, uint64_t recv_amount, bool json, Stream &strm)
Definition: GDBRemoteCommunicationClient.cpp:2441
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_x
LazyBool m_supports_x
Definition: GDBRemoteCommunicationClient.h:548
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_any
LazyBool m_supports_vCont_any
Definition: GDBRemoteCommunicationClient.h:531
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetUserName
bool GetUserName(uint32_t uid, std::string &name)
Definition: GDBRemoteCommunicationClient.cpp:2356
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_gdb_server_name
std::string m_gdb_server_name
Definition: GDBRemoteCommunicationClient.h:601
lldb_private::StructuredData::Array
Definition: StructuredData.h:165
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_c
LazyBool m_supports_vCont_c
Definition: GDBRemoteCommunicationClient.h:532
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient
Definition: GDBRemoteCommunicationClient.h:58
lldb_private::process_gdb_remote::eWatchpointReadWrite
@ eWatchpointReadWrite
Definition: GDBRemoteCommunication.h:42
StructuredData.h
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetWorkingDir
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 pl...
Definition: GDBRemoteCommunicationClient.cpp:1938
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::QueryGDBServer
size_t QueryGDBServer(std::vector< std::pair< uint16_t, std::string >> &connection_urls)
Definition: GDBRemoteCommunicationClient.cpp:2631
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetHostArchitecture
const ArchSpec & GetHostArchitecture()
Definition: GDBRemoteCommunicationClient.cpp:1414
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetQXferSigInfoReadSupported
bool GetQXferSigInfoReadSupported()
Definition: GDBRemoteCommunicationClient.cpp:177
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vFileSize
bool m_supports_vFileSize
Definition: GDBRemoteCommunicationClient.h:575
lldb_private::File::OpenOptions
OpenOptions
Definition: File.h:49
lldb_private::process_gdb_remote::GDBRemoteCommunication::PacketResult
PacketResult
Definition: GDBRemoteCommunication.h:91
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qThreadStopInfo
bool m_supports_qThreadStopInfo
Definition: GDBRemoteCommunicationClient.h:570
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_maccatalyst_version
llvm::VersionTuple m_maccatalyst_version
Definition: GDBRemoteCommunicationClient.h:597
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::MaybeEnableCompression
void MaybeEnableCompression(llvm::ArrayRef< llvm::StringRef > supported_compressions)
Definition: GDBRemoteCommunicationClient.cpp:1067
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetDefaultThreadId
bool GetDefaultThreadId(lldb::tid_t &tid)
Definition: GDBRemoteCommunicationClient.cpp:1158
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo
Status GetMemoryRegionInfo(lldb::addr_t addr, MemoryRegionInfo &range_info)
Definition: GDBRemoteCommunicationClient.cpp:1530
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_curr_pid
lldb::pid_t m_curr_pid
Current gdb remote protocol process identifier for all other operations.
Definition: GDBRemoteCommunicationClient.h:580
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jThreadsInfo
bool m_supports_jThreadsInfo
Definition: GDBRemoteCommunicationClient.h:574
lldb_private::Process
Definition: Process.h:338
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_max_packet_size
uint64_t m_max_packet_size
Definition: GDBRemoteCommunicationClient.h:608
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_QEnvironment
bool m_supports_QEnvironment
Definition: GDBRemoteCommunicationClient.h:572
lldb_private::process_gdb_remote::QOffsets::segments
bool segments
If true, the offsets field describes segments.
Definition: GDBRemoteCommunicationClient.h:41
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_p
LazyBool m_supports_p
Definition: GDBRemoteCommunicationClient.h:547
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qSupported_response
std::string m_qSupported_response
Definition: GDBRemoteCommunicationClient.h:609
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetQOffsets
llvm::Optional< QOffsets > GetQOffsets()
Use qOffsets to query the offset used when relocating the target executable.
Definition: GDBRemoteCommunicationClient.cpp:3715
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vFileMode
bool m_supports_vFileMode
Definition: GDBRemoteCommunicationClient.h:576
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_QPassSignals
LazyBool m_supports_QPassSignals
Definition: GDBRemoteCommunicationClient.h:561
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qGDBServerVersion_is_valid
LazyBool m_qGDBServerVersion_is_valid
Definition: GDBRemoteCommunicationClient.h:539
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetSystemArchitecture
ArchSpec GetSystemArchitecture()
Definition: GDBRemoteCommunicationClient.cpp:1006
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jModulesInfo
bool m_supports_jModulesInfo
Definition: GDBRemoteCommunicationClient.h:575
lldb_private::ProcessInstanceInfoMatch
Definition: ProcessInfo.h:163
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::~GDBRemoteCommunicationClient
~GDBRemoteCommunicationClient() override
Definition: GDBRemoteCommunicationClient.cpp:77
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qModuleInfo
bool m_supports_qModuleInfo
Definition: GDBRemoteCommunicationClient.h:574
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ServeSymbolLookups
void ServeSymbolLookups(lldb_private::Process *process)
Definition: GDBRemoteCommunicationClient.cpp:4008
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetGDBServerProgramVersion
uint32_t GetGDBServerProgramVersion()
Definition: GDBRemoteCommunicationClient.cpp:1152
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::OnRunPacketSent
void OnRunPacketSent(bool first) override
Definition: GDBRemoteCommunicationClient.cpp:4253
lldb_private::MemoryRegionInfo
Definition: MemoryRegionInfo.h:21
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetVContSupported
bool GetVContSupported(char flavor)
Definition: GDBRemoteCommunicationClient.cpp:423
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetCurrentThread
bool SetCurrentThread(uint64_t tid, lldb::pid_t pid=LLDB_INVALID_PROCESS_ID)
Definition: GDBRemoteCommunicationClient.cpp:2718
lldb_private::process_gdb_remote::eWatchpointWrite
@ eWatchpointWrite
Definition: GDBRemoteCommunication.h:40
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetVAttachOrWaitSupported
bool GetVAttachOrWaitSupported()
Definition: GDBRemoteCommunicationClient.cpp:228
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_threads_in_stop_reply
LazyBool m_supports_threads_in_stop_reply
Definition: GDBRemoteCommunicationClient.h:529
lldb_private::process_gdb_remote::QOffsets
The offsets used by the target when relocating the executable.
Definition: GDBRemoteCommunicationClient.h:38
lldb_private::Stream
Definition: Stream.h:28
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_process_standalone_value_is_offset
bool m_process_standalone_value_is_offset
Definition: GDBRemoteCommunicationClient.h:595
lldb::addr_t
uint64_t addr_t
Definition: lldb-types.h:83
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendEnvironmentPacket
int SendEnvironmentPacket(char const *name_equal_value)
Sends a "QEnvironment:NAME=VALUE" packet that will build up the environment that will get used when l...
Definition: GDBRemoteCommunicationClient.cpp:856
lldb_private::LazyBool
LazyBool
Definition: lldb-private-enumerations.h:115
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_curr_pid_is_valid
LazyBool m_curr_pid_is_valid
Definition: GDBRemoteCommunicationClient.h:537
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetAugmentedLibrariesSVR4ReadSupported
bool GetAugmentedLibrariesSVR4ReadSupported()
Definition: GDBRemoteCommunicationClient.cpp:135
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetQXferAuxvReadSupported
bool GetQXferAuxvReadSupported()
Definition: GDBRemoteCommunicationClient.cpp:156
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetWatchpointSupportInfo
Status GetWatchpointSupportInfo(uint32_t &num)
Definition: GDBRemoteCommunicationClient.cpp:1789
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::MakeDirectory
Status MakeDirectory(const FileSpec &file_spec, uint32_t mode)
Definition: GDBRemoteCommunicationClient.cpp:2979
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetQXferFeaturesReadSupported
bool GetQXferFeaturesReadSupported()
Definition: GDBRemoteCommunicationClient.cpp:163
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetThreadsInfo
StructuredData::ObjectSP GetThreadsInfo()
Definition: GDBRemoteCommunicationClient.cpp:533
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetEchoSupported
bool GetEchoSupported()
Definition: GDBRemoteCommunicationClient.cpp:121
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetQXferLibrariesSVR4ReadSupported
bool GetQXferLibrariesSVR4ReadSupported()
Definition: GDBRemoteCommunicationClient.cpp:142
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetListThreadsInStopReplySupported
void GetListThreadsInStopReplySupported()
Definition: GDBRemoteCommunicationClient.cpp:215
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetWorkingDir
bool GetWorkingDir(FileSpec &working_dir)
Gets the current working directory of a remote platform GDB server.
Definition: GDBRemoteCommunicationClient.cpp:1922
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_S
LazyBool m_supports_vCont_S
Definition: GDBRemoteCommunicationClient.h:535
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetRemoteMaxPacketSize
uint64_t GetRemoteMaxPacketSize()
Definition: GDBRemoteCommunicationClient.cpp:184
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::CalculateMD5
bool CalculateMD5(const FileSpec &file_spec, uint64_t &high, uint64_t &low)
Definition: GDBRemoteCommunicationClient.cpp:3388
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetGroupName
bool GetGroupName(uint32_t gid, std::string &name)
Definition: GDBRemoteCommunicationClient.cpp:2383
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::EnableErrorStringInPacket
void EnableErrorStringInPacket()
Definition: GDBRemoteCommunicationClient.cpp:567
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetSyncThreadStateSupported
bool GetSyncThreadStateSupported()
Definition: GDBRemoteCommunicationClient.cpp:242
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qHostInfo_is_valid
LazyBool m_qHostInfo_is_valid
Definition: GDBRemoteCommunicationClient.h:536
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GDBRemoteCommunicationClient
GDBRemoteCommunicationClient()
Definition: GDBRemoteCommunicationClient.cpp:57
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supported_async_json_packets_is_valid
bool m_supported_async_json_packets_is_valid
Definition: GDBRemoteCommunicationClient.h:611
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_target_vm_page_size
int m_target_vm_page_size
Definition: GDBRemoteCommunicationClient.h:607
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_memory_map_read
LazyBool m_supports_qXfer_memory_map_read
Definition: GDBRemoteCommunicationClient.h:555
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_augmented_libraries_svr4_read
LazyBool m_supports_augmented_libraries_svr4_read
Definition: GDBRemoteCommunicationClient.h:557
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetThreadPacketSupported
LazyBool GetThreadPacketSupported(lldb::tid_t tid, llvm::StringRef packetStr)
Definition: GDBRemoteCommunicationClient.cpp:516
lldb_private::FileSpec
Definition: FileSpec.h:56
error
static llvm::raw_ostream & error(Stream &strm)
Definition: CommandReturnObject.cpp:17
ProcessInfo.h
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_features_read
LazyBool m_supports_qXfer_features_read
Definition: GDBRemoteCommunicationClient.h:554
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::DeallocateMemory
bool DeallocateMemory(lldb::addr_t addr)
Definition: GDBRemoteCommunicationClient.cpp:1457
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetCurrentThreadForRun
bool SetCurrentThreadForRun(uint64_t tid, lldb::pid_t pid=LLDB_INVALID_PROCESS_ID)
Definition: GDBRemoteCommunicationClient.cpp:2733
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetHostInfo
bool GetHostInfo(bool force=false)
Definition: GDBRemoteCommunicationClient.cpp:1201
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetSupportsThreadSuffix
bool GetSupportsThreadSuffix()
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_z0
bool m_supports_z0
Definition: GDBRemoteCommunicationClient.h:570
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::KillSpawnedProcess
bool KillSpawnedProcess(lldb::pid_t pid)
Definition: GDBRemoteCommunicationClient.cpp:2670
lldb_private::ProcessLaunchInfo
Definition: ProcessLaunchInfo.h:31
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qSymbol
bool m_supports_qSymbol
Definition: GDBRemoteCommunicationClient.h:573
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_process_standalone_uuid
UUID m_process_standalone_uuid
Definition: GDBRemoteCommunicationClient.h:593
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_watchpoint_support_info
LazyBool m_supports_watchpoint_support_info
Definition: GDBRemoteCommunicationClient.h:542
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::WriteRegister
bool WriteRegister(lldb::tid_t tid, uint32_t reg_num, llvm::ArrayRef< uint8_t > data)
Definition: GDBRemoteCommunicationClient.cpp:3467
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetSTDERR
int SetSTDERR(const FileSpec &file_spec)
Definition: GDBRemoteCommunicationClient.cpp:1902
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::Detach
Status Detach(bool keep_stopped, lldb::pid_t pid=LLDB_INVALID_PROCESS_ID)
Definition: GDBRemoteCommunicationClient.cpp:1479
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::Stat
llvm::Optional< GDBRemoteFStatData > Stat(const FileSpec &file_spec)
Definition: GDBRemoteCommunicationClient.cpp:3108
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ReadMemoryTags
lldb::DataBufferSP ReadMemoryTags(lldb::addr_t addr, size_t len, int32_t type)
Definition: GDBRemoteCommunicationClient.cpp:617
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_detach_stay_stopped
LazyBool m_supports_detach_stay_stopped
Definition: GDBRemoteCommunicationClient.h:543
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_memory_region_info
LazyBool m_supports_memory_region_info
Definition: GDBRemoteCommunicationClient.h:541
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetAddressingBits
uint32_t GetAddressingBits()
Definition: GDBRemoteCommunicationClient.cpp:1420
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetQXferMemoryMapReadSupported
bool GetQXferMemoryMapReadSupported()
Definition: GDBRemoteCommunicationClient.cpp:170
lldb_private::StructuredData::ObjectSP
std::shared_ptr< Object > ObjectSP
Definition: StructuredData.h:59
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qUserName
bool m_supports_qUserName
Definition: GDBRemoteCommunicationClient.h:569
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_curr_tid_run
lldb::tid_t m_curr_tid_run
Current gdb remote protocol thread identifier for continue, step, etc.
Definition: GDBRemoteCommunicationClient.h:586
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::Unlink
Status Unlink(const FileSpec &file_spec)
Definition: GDBRemoteCommunicationClient.cpp:3325
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetQXferLibrariesReadSupported
bool GetQXferLibrariesReadSupported()
Definition: GDBRemoteCommunicationClient.cpp:149
lldb_private::process_gdb_remote::PidTid::tid
uint64_t tid
Definition: GDBRemoteCommunicationClient.h:55
lldb_private::process_gdb_remote::PidTid
Definition: GDBRemoteCommunicationClient.h:53
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetFileExists
bool GetFileExists(const FileSpec &file_spec)
Definition: GDBRemoteCommunicationClient.cpp:3357
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_curr_pid_run
lldb::pid_t m_curr_pid_run
Current gdb remote protocol process identifier for continue, step, etc.
Definition: GDBRemoteCommunicationClient.h:582
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetGDBServerProgramName
const char * GetGDBServerProgramName()
Definition: GDBRemoteCommunicationClient.cpp:1144
lldb_private::ConstString
Definition: ConstString.h:40
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ReadAllRegisters
lldb::DataBufferSP ReadAllRegisters(lldb::tid_t tid)
Definition: GDBRemoteCommunicationClient.cpp:3452
lldb_private::StreamString
Definition: StreamString.h:23
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetFilePermissions
Status SetFilePermissions(const FileSpec &file_spec, uint32_t file_permissions)
Definition: GDBRemoteCommunicationClient.cpp:3000
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetModuleInfo
bool GetModuleInfo(const FileSpec &module_file_spec, const ArchSpec &arch_spec, ModuleSpec &module_spec)
Definition: GDBRemoteCommunicationClient.cpp:3755
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetDetachOnError
int SetDetachOnError(bool enable)
Sets the DetachOnError flag to enable for the process controlled by the stub.
Definition: GDBRemoteCommunicationClient.cpp:1975
lldb_private::process_gdb_remote::eWatchpointRead
@ eWatchpointRead
Definition: GDBRemoteCommunication.h:41
GDBRemote.h
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::CloseFile
bool CloseFile(lldb::user_id_t fd, Status &error)
Definition: GDBRemoteCommunicationClient.cpp:3071
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supported_async_json_packets_sp
lldb_private::StructuredData::ObjectSP m_supported_async_json_packets_sp
Definition: GDBRemoteCommunicationClient.h:612
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SaveRegisterState
bool SaveRegisterState(lldb::tid_t tid, uint32_t &save_id)
Definition: GDBRemoteCommunicationClient.cpp:3494
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jGetSharedCacheInfo
LazyBool m_supports_jGetSharedCacheInfo
Definition: GDBRemoteCommunicationClient.h:560
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetProcessArchitecture
const ArchSpec & GetProcessArchitecture()
Definition: GDBRemoteCommunicationClient.cpp:1013
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetxPacketSupported
bool GetxPacketSupported()
Definition: GDBRemoteCommunicationClient.cpp:679
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::CreateSymlink
Status CreateSymlink(const FileSpec &src, const FileSpec &dst)
Definition: GDBRemoteCommunicationClient.cpp:3291
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendThreadSpecificPacketAndWaitForResponse
PacketResult SendThreadSpecificPacketAndWaitForResponse(lldb::tid_t tid, StreamString &&payload, StringExtractorGDBRemote &response)
Definition: GDBRemoteCommunicationClient.cpp:483
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ReadFile
uint64_t ReadFile(lldb::user_id_t fd, uint64_t offset, void *dst, uint64_t dst_len, Status &error)
Definition: GDBRemoteCommunicationClient.cpp:3219
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetProcessInfo
bool GetProcessInfo(lldb::pid_t pid, ProcessInstanceInfo &process_info)
Definition: GDBRemoteCommunicationClient.cpp:2089
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendSpeedTestPacket
bool SendSpeedTestPacket(uint32_t send_size, uint32_t recv_size)
Definition: GDBRemoteCommunicationClient.cpp:2565
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetCurrentThreadIDs
size_t GetCurrentThreadIDs(std::vector< lldb::tid_t > &thread_ids, bool &sequence_mutex_unavailable)
Definition: GDBRemoteCommunicationClient.cpp:2896
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_hostname
std::string m_hostname
Definition: GDBRemoteCommunicationClient.h:600
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_all
LazyBool m_supports_vCont_all
Definition: GDBRemoteCommunicationClient.h:530
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_z2
bool m_supports_z2
Definition: GDBRemoteCommunicationClient.h:571
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_z1
bool m_supports_z1
Definition: GDBRemoteCommunicationClient.h:570
string
string(SUBSTRING ${p} 10 -1 pStripped) if($
Definition: Plugins/CMakeLists.txt:40
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_alloc_dealloc_memory
LazyBool m_supports_alloc_dealloc_memory
Definition: GDBRemoteCommunicationClient.h:540
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vRun
bool m_supports_vRun
Definition: GDBRemoteCommunicationClient.h:577
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetFilePermissions
Status GetFilePermissions(const FileSpec &file_spec, uint32_t &file_permissions)
Definition: GDBRemoteCommunicationClient.cpp:3171
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_default_packet_timeout
std::chrono::seconds m_default_packet_timeout
Definition: GDBRemoteCommunicationClient.h:606
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendSetCurrentThreadPacket
llvm::Optional< PidTid > SendSetCurrentThreadPacket(uint64_t tid, uint64_t pid, char op)
Definition: GDBRemoteCommunicationClient.cpp:2684
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetThreadStopInfo
bool GetThreadStopInfo(lldb::tid_t tid, StringExtractorGDBRemote &response)
Definition: GDBRemoteCommunicationClient.cpp:2755
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::operator=
const GDBRemoteCommunicationClient & operator=(const GDBRemoteCommunicationClient &)=delete
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_curr_tid
lldb::tid_t m_curr_tid
Current gdb remote protocol thread identifier for all other operations.
Definition: GDBRemoteCommunicationClient.h:584
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetThreadExtendedInfoSupported
bool GetThreadExtendedInfoSupported()
Definition: GDBRemoteCommunicationClient.cpp:553
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_attach_or_wait_reply
LazyBool m_attach_or_wait_reply
Definition: GDBRemoteCommunicationClient.h:545
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::RestoreRegisterState
bool RestoreRegisterState(lldb::tid_t tid, uint32_t save_id)
Definition: GDBRemoteCommunicationClient.cpp:3519
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qProcessInfoPID
bool m_supports_qProcessInfoPID
Definition: GDBRemoteCommunicationClient.h:568
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ReadExtFeature
llvm::Expected< std::string > ReadExtFeature(llvm::StringRef object, llvm::StringRef annex)
Definition: GDBRemoteCommunicationClient.cpp:3914
lldb_private::process_gdb_remote::GDBRemoteClientBase
Definition: GDBRemoteClientBase.h:19
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryTaggingSupported
bool GetMemoryTaggingSupported()
Definition: GDBRemoteCommunicationClient.cpp:610
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetQXferMemoryMapRegionInfo
Status GetQXferMemoryMapRegionInfo(lldb::addr_t addr, MemoryRegionInfo &region)
Definition: GDBRemoteCommunicationClient.cpp:1689
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qProcessInfo_is_valid
LazyBool m_qProcessInfo_is_valid
Definition: GDBRemoteCommunicationClient.h:538
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qXfer_memory_map
std::vector< MemoryRegionInfo > m_qXfer_memory_map
Definition: GDBRemoteCommunicationClient.h:614
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SupportsGDBStoppointPacket
bool SupportsGDBStoppointPacket(GDBStoppointType type)
Definition: GDBRemoteCommunicationClient.h:276
lldb_private::TraceStopRequest
jLLDBTraceStop gdb-remote packet
Definition: TraceGDBRemotePackets.h:64
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetHostDefaultPacketTimeout
std::chrono::seconds GetHostDefaultPacketTimeout()
Definition: GDBRemoteCommunicationClient.cpp:1425
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetCurrentProcessInfo
bool GetCurrentProcessInfo(bool allow_lazy_pid=true)
Definition: GDBRemoteCommunicationClient.cpp:2111
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::OpenFile
lldb::user_id_t OpenFile(const FileSpec &file_spec, File::OpenOptions flags, mode_t mode, Status &error)
Definition: GDBRemoteCommunicationClient.cpp:3050
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendStdinNotification
int SendStdinNotification(const char *data, size_t data_len)
Sends a GDB remote protocol 'I' packet that delivers stdin data to the remote process.
Definition: GDBRemoteCommunicationClient.cpp:1400
lldb_private::process_gdb_remote::operator<<
llvm::raw_ostream & operator<<(llvm::raw_ostream &os, const QOffsets &offsets)
Definition: GDBRemoteCommunicationClient.cpp:49
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendEnvironment
int SendEnvironment(const Environment &env)
Definition: GDBRemoteCommunicationClient.cpp:847
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::UsesNativeSignals
bool UsesNativeSignals()
Definition: GDBRemoteCommunicationClient.cpp:4258
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_num_supported_hardware_watchpoints
uint32_t m_num_supported_hardware_watchpoints
Definition: GDBRemoteCommunicationClient.h:588
lldb_private::ModuleSpec
Definition: ModuleSpec.h:27
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_s
LazyBool m_supports_vCont_s
Definition: GDBRemoteCommunicationClient.h:534
PosixApi.h
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_error_string_reply
LazyBool m_supports_error_string_reply
Definition: GDBRemoteCommunicationClient.h:562
lldb_private::Status
Definition: Status.h:44
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::WriteAllRegisters
bool WriteAllRegisters(lldb::tid_t tid, llvm::ArrayRef< uint8_t > data)
Definition: GDBRemoteCommunicationClient.cpp:3481
lldb_private::process_gdb_remote::eBreakpointHardware
@ eBreakpointHardware
Definition: GDBRemoteCommunication.h:39
lldb_private::Timeout< std::micro >
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_QEnvironmentHexEncoded
bool m_supports_QEnvironmentHexEncoded
Definition: GDBRemoteCommunicationClient.h:572
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_gdb_server_version
uint32_t m_gdb_server_version
Definition: GDBRemoteCommunicationClient.h:603
uint32_t
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::DecodeProcessInfoResponse
bool DecodeProcessInfoResponse(StringExtractorGDBRemote &response, ProcessInstanceInfo &process_info)
Definition: GDBRemoteCommunicationClient.cpp:1992
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ConfigureRemoteStructuredData
Status ConfigureRemoteStructuredData(ConstString type_name, const StructuredData::ObjectSP &config_sp)
Configure a StructuredData feature on the remote end.
Definition: GDBRemoteCommunicationClient.cpp:4203
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetWatchpointsTriggerAfterInstruction
Status GetWatchpointsTriggerAfterInstruction(bool &after, const ArchSpec &arch)
Definition: GDBRemoteCommunicationClient.cpp:1837
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetCurrentProcessAndThreadIDs
std::vector< std::pair< lldb::pid_t, lldb::tid_t > > GetCurrentProcessAndThreadIDs(bool &sequence_mutex_unavailable)
Definition: GDBRemoteCommunicationClient.cpp:2840
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendLaunchEventDataPacket
int SendLaunchEventDataPacket(const char *data, bool *was_supported=nullptr)
Definition: GDBRemoteCommunicationClient.cpp:940
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendGetTraceDataPacket
Status SendGetTraceDataPacket(StreamGDBRemote &packet, lldb::user_id_t uid, lldb::tid_t thread_id, llvm::MutableArrayRef< uint8_t > &buffer, size_t offset)
lldb::pid_t
uint64_t pid_t
Definition: lldb-types.h:85
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendTraceSupported
llvm::Expected< TraceSupportedResponse > SendTraceSupported(std::chrono::seconds interrupt_timeout)
Definition: GDBRemoteCommunicationClient.cpp:3555
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::WriteMemoryTags
Status WriteMemoryTags(lldb::addr_t addr, size_t len, int32_t type, const std::vector< uint8_t > &tags)
Definition: GDBRemoteCommunicationClient.cpp:661
lldb_private::StreamGDBRemote
Definition: GDBRemote.h:27
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_os_version
llvm::VersionTuple m_os_version
Definition: GDBRemoteCommunicationClient.h:596
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_libraries_read
LazyBool m_supports_qXfer_libraries_read
Definition: GDBRemoteCommunicationClient.h:552
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetGDBServerVersion
bool GetGDBServerVersion()
Definition: GDBRemoteCommunicationClient.cpp:1036
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_vCont_C
LazyBool m_supports_vCont_C
Definition: GDBRemoteCommunicationClient.h:533
ArchSpec.h
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_process_arch
ArchSpec m_process_arch
Definition: GDBRemoteCommunicationClient.h:592
UINT32_MAX
#define UINT32_MAX
Definition: lldb-defines.h:19
lldb_private::Environment
Definition: Environment.h:18
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_QSaveRegisterState
LazyBool m_supports_QSaveRegisterState
Definition: GDBRemoteCommunicationClient.h:550
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_z4
bool m_supports_z4
Definition: GDBRemoteCommunicationClient.h:571
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetFileSize
lldb::user_id_t GetFileSize(const FileSpec &file_spec)
Definition: GDBRemoteCommunicationClient.cpp:3119
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendTraceStop
llvm::Error SendTraceStop(const TraceStopRequest &request, std::chrono::seconds interrupt_timeout)
Definition: GDBRemoteCommunicationClient.cpp:3580
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::LaunchGDBServer
bool LaunchGDBServer(const char *remote_accept_hostname, lldb::pid_t &pid, uint16_t &port, std::string &socket_name)
Definition: GDBRemoteCommunicationClient.cpp:2586
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendArgumentsPacket
int SendArgumentsPacket(const ProcessLaunchInfo &launch_info)
Sends a GDB remote protocol 'A' packet that delivers program arguments to the remote server.
Definition: GDBRemoteCommunicationClient.cpp:767
uint16_t
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::RunShellCommand
Status RunShellCommand(llvm::StringRef command, const FileSpec &working_dir, int *status_ptr, int *signo_ptr, std::string *command_output, const Timeout< std::micro > &timeout)
Definition: GDBRemoteCommunicationClient.cpp:2926
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_z3
bool m_supports_z3
Definition: GDBRemoteCommunicationClient.h:571
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetShlibInfoAddr
lldb::addr_t GetShlibInfoAddr()
Definition: GDBRemoteCommunicationClient.cpp:2917
LLDB_INVALID_ADDRESS
#define LLDB_INVALID_ADDRESS
Definition: lldb-defines.h:74
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetCurrentProcessID
lldb::pid_t GetCurrentProcessID(bool allow_lazy=true)
Definition: GDBRemoteCommunicationClient.cpp:694
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetpPacketSupported
bool GetpPacketSupported(lldb::tid_t tid)
Definition: GDBRemoteCommunicationClient.cpp:510
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetSTDOUT
int SetSTDOUT(const FileSpec &file_spec)
Definition: GDBRemoteCommunicationClient.cpp:1882
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::HasAnyVContSupport
bool HasAnyVContSupport()
Definition: GDBRemoteCommunicationClient.h:270
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::LoadQXferMemoryMap
Status LoadQXferMemoryMap()
Definition: GDBRemoteCommunicationClient.cpp:1704
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qXfer_memory_map_loaded
bool m_qXfer_memory_map_loaded
Definition: GDBRemoteCommunicationClient.h:615
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_uses_native_signals
LazyBool m_uses_native_signals
Definition: GDBRemoteCommunicationClient.h:566
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_watchpoints_trigger_after_instruction
LazyBool m_watchpoints_trigger_after_instruction
Definition: GDBRemoteCommunicationClient.h:544
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_auxv_read
LazyBool m_supports_qXfer_auxv_read
Definition: GDBRemoteCommunicationClient.h:551
lldb_private::process_gdb_remote::eBreakpointSoftware
@ eBreakpointSoftware
Definition: GDBRemoteCommunication.h:38
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetDisableASLR
int SetDisableASLR(bool enable)
Sets the disable ASLR flag to enable for a process that will be launched with the 'A' packet.
Definition: GDBRemoteCommunicationClient.cpp:1958
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_multiprocess
LazyBool m_supports_multiprocess
Definition: GDBRemoteCommunicationClient.h:563
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qXfer_libraries_svr4_read
LazyBool m_supports_qXfer_libraries_svr4_read
Definition: GDBRemoteCommunicationClient.h:553
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetOSKernelDescription
llvm::Optional< std::string > GetOSKernelDescription()
Definition: GDBRemoteCommunicationClient.cpp:987
lldb::user_id_t
uint64_t user_id_t
Definition: lldb-types.h:84
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendTraceStart
llvm::Error SendTraceStart(const llvm::json::Value &request, std::chrono::seconds interrupt_timeout)
Definition: GDBRemoteCommunicationClient.cpp:3615
lldb_private::process_gdb_remote::ProcessGDBRemote
Definition: ProcessGDBRemote.h:49
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
lldb_private::eLazyBoolCalculate
@ eLazyBoolCalculate
Definition: lldb-private-enumerations.h:115
Error
llvm::Error Error
Definition: UdtRecordCompleter.cpp:30
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetStopReply
bool GetStopReply(StringExtractorGDBRemote &response)
Definition: GDBRemoteCommunicationClient.cpp:2748
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::HandshakeWithServer
bool HandshakeWithServer(Status *error_ptr)
Definition: GDBRemoteCommunicationClient.cpp:82
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetSupportedStructuredDataPlugins
lldb_private::StructuredData::Array * GetSupportedStructuredDataPlugins()
Return the array of async JSON packet types supported by the remote.
Definition: GDBRemoteCommunicationClient.cpp:4137
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_os_build
std::string m_os_build
Definition: GDBRemoteCommunicationClient.h:598
lldb_private::process_gdb_remote::PidTid::pid
uint64_t pid
Definition: GDBRemoteCommunicationClient.h:54
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_avoid_g_packets
LazyBool m_avoid_g_packets
Definition: GDBRemoteCommunicationClient.h:549
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SupportsAllocDeallocMemory
LazyBool SupportsAllocDeallocMemory()
Definition: GDBRemoteCommunicationClient.h:342
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ReadRegister
lldb::DataBufferSP ReadRegister(lldb::tid_t tid, uint32_t reg_num)
Definition: GDBRemoteCommunicationClient.cpp:3436
StringExtractorGDBRemote
Definition: StringExtractorGDBRemote.h:21
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_process_standalone_value
lldb::addr_t m_process_standalone_value
Definition: GDBRemoteCommunicationClient.h:594
LLDB_INVALID_THREAD_ID
#define LLDB_INVALID_THREAD_ID
Definition: lldb-defines.h:82
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::HasFullVContSupport
bool HasFullVContSupport()
Definition: GDBRemoteCommunicationClient.h:268
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jThreadExtendedInfo
LazyBool m_supports_jThreadExtendedInfo
Definition: GDBRemoteCommunicationClient.h:558
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetModulesInfo
llvm::Optional< std::vector< ModuleSpec > > GetModulesInfo(llvm::ArrayRef< FileSpec > module_file_specs, const llvm::Triple &triple)
Definition: GDBRemoteCommunicationClient.cpp:3855
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::AllocateMemory
lldb::addr_t AllocateMemory(size_t size, uint32_t permissions)
Definition: GDBRemoteCommunicationClient.cpp:1431
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_jLoadedDynamicLibrariesInfos
LazyBool m_supports_jLoadedDynamicLibrariesInfos
Definition: GDBRemoteCommunicationClient.h:559
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetProcessStandaloneBinary
bool GetProcessStandaloneBinary(UUID &uuid, lldb::addr_t &value, bool &value_is_offset)
Definition: GDBRemoteCommunicationClient.cpp:1019
lldb_private::process_gdb_remote::GDBStoppointType
GDBStoppointType
Definition: GDBRemoteCommunication.h:36
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetHostname
bool GetHostname(std::string &s)
Definition: GDBRemoteCommunicationClient.cpp:995
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ResetDiscoverableSettings
void ResetDiscoverableSettings(bool did_exec)
Definition: GDBRemoteCommunicationClient.cpp:256
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendTraceGetState
llvm::Expected< std::string > SendTraceGetState(llvm::StringRef type, std::chrono::seconds interrupt_timeout)
Definition: GDBRemoteCommunicationClient.cpp:3650
lldb_private::ProcessInstanceInfoList
std::vector< ProcessInstanceInfo > ProcessInstanceInfoList
Definition: Host.h:31
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetOSVersion
llvm::VersionTuple GetOSVersion()
Definition: GDBRemoteCommunicationClient.cpp:968
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetLaunchSuccess
bool GetLaunchSuccess(std::string &error_str)
Definition: GDBRemoteCommunicationClient.cpp:743
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_addressing_bits
uint32_t m_addressing_bits
Definition: GDBRemoteCommunicationClient.h:589
File.h
TraceGDBRemotePackets.h
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendSignalsToIgnore
Status SendSignalsToIgnore(llvm::ArrayRef< int32_t > signals)
Definition: GDBRemoteCommunicationClient.cpp:4183
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_qGroupName
bool m_supports_qGroupName
Definition: GDBRemoteCommunicationClient.h:569
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetThreadSuffixSupported
bool GetThreadSuffixSupported()
Definition: GDBRemoteCommunicationClient.cpp:411
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendLaunchArchPacket
int SendLaunchArchPacket(const char *arch)
Definition: GDBRemoteCommunicationClient.cpp:923
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::FStat
llvm::Optional< GDBRemoteFStatData > FStat(lldb::user_id_t fd)
Definition: GDBRemoteCommunicationClient.cpp:3084
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetServerSupportedFeatures
const std::string & GetServerSupportedFeatures() const
Return the feature set supported by the gdb-remote server.
Definition: GDBRemoteCommunicationClient.h:477
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_supports_thread_suffix
LazyBool m_supports_thread_suffix
Definition: GDBRemoteCommunicationClient.h:528
lldb_private::CompletionRequest
Definition: CompletionRequest.h:100
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_prepare_for_reg_writing_reply
LazyBool m_prepare_for_reg_writing_reply
Definition: GDBRemoteCommunicationClient.h:546
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::AutoCompleteDiskFileOrDirectory
void AutoCompleteDiskFileOrDirectory(CompletionRequest &request, bool only_dir)
Definition: GDBRemoteCommunicationClient.cpp:3145
lldb::tid_t
uint64_t tid_t
Definition: lldb-types.h:86
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::m_qSymbol_requests_done
bool m_qSymbol_requests_done
Definition: GDBRemoteCommunicationClient.h:573
lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::AvoidGPackets
bool AvoidGPackets(ProcessGDBRemote *process)
Definition: GDBRemoteCommunicationClient.cpp:3410