LLDB mainline
|
#include <GDBRemoteCommunicationClient.h>
Public Member Functions | |
GDBRemoteCommunicationClient () | |
~GDBRemoteCommunicationClient () override | |
bool | HandshakeWithServer (Status *error_ptr) |
bool | GetThreadSuffixSupported () |
bool | QueryNoAckModeSupported () |
void | GetListThreadsInStopReplySupported () |
lldb::pid_t | GetCurrentProcessID (bool allow_lazy=true) |
bool | LaunchGDBServer (const char *remote_accept_hostname, lldb::pid_t &pid, uint16_t &port, std::string &socket_name) |
size_t | QueryGDBServer (std::vector< std::pair< uint16_t, std::string > > &connection_urls) |
bool | KillSpawnedProcess (lldb::pid_t pid) |
llvm::Error | LaunchProcess (const Args &args) |
Launch the process using the provided arguments. | |
int | SendEnvironmentPacket (char const *name_equal_value) |
Sends a "QEnvironment:NAME=VALUE" packet that will build up the environment that will get used when launching an application in conjunction with the 'A' packet. | |
int | SendEnvironment (const Environment &env) |
int | SendLaunchArchPacket (const char *arch) |
int | SendLaunchEventDataPacket (const char *data, bool *was_supported=nullptr) |
int | SendStdinNotification (const char *data, size_t data_len) |
Sends a GDB remote protocol 'I' packet that delivers stdin data to the remote process. | |
int | SetSTDIN (const FileSpec &file_spec) |
Sets the path to use for stdin/out/err for a process that will be launched with the 'A' packet. | |
int | SetSTDOUT (const FileSpec &file_spec) |
int | SetSTDERR (const FileSpec &file_spec) |
int | SetDisableASLR (bool enable) |
Sets the disable ASLR flag to enable for a process that will be launched with the 'A' packet. | |
int | SetDetachOnError (bool enable) |
Sets the DetachOnError flag to enable for the process controlled by the stub. | |
int | SetWorkingDir (const FileSpec &working_dir) |
Sets the working directory to path for a process that will be launched with the 'A' packet for non platform based connections. | |
bool | GetWorkingDir (FileSpec &working_dir) |
Gets the current working directory of a remote platform GDB server. | |
lldb::addr_t | AllocateMemory (size_t size, uint32_t permissions) |
bool | DeallocateMemory (lldb::addr_t addr) |
Status | Detach (bool keep_stopped, lldb::pid_t pid=LLDB_INVALID_PROCESS_ID) |
Status | GetMemoryRegionInfo (lldb::addr_t addr, MemoryRegionInfo &range_info) |
std::optional< uint32_t > | GetWatchpointSlotCount () |
std::optional< bool > | GetWatchpointReportedAfter () |
WatchpointHardwareFeature | GetSupportedWatchpointTypes () |
const ArchSpec & | GetHostArchitecture () |
std::chrono::seconds | GetHostDefaultPacketTimeout () |
const ArchSpec & | GetProcessArchitecture () |
bool | GetProcessStandaloneBinary (UUID &uuid, lldb::addr_t &value, bool &value_is_offset) |
std::vector< lldb::addr_t > | GetProcessStandaloneBinaries () |
void | GetRemoteQSupported () |
bool | GetVContSupported (char flavor) |
bool | GetpPacketSupported (lldb::tid_t tid) |
bool | GetxPacketSupported () |
bool | GetVAttachOrWaitSupported () |
bool | GetSyncThreadStateSupported () |
void | ResetDiscoverableSettings (bool did_exec) |
bool | GetHostInfo (bool force=false) |
bool | GetDefaultThreadId (lldb::tid_t &tid) |
llvm::VersionTuple | GetOSVersion () |
llvm::VersionTuple | GetMacCatalystVersion () |
std::optional< std::string > | GetOSBuildString () |
std::optional< std::string > | GetOSKernelDescription () |
ArchSpec | GetSystemArchitecture () |
lldb_private::AddressableBits | GetAddressableBits () |
bool | GetHostname (std::string &s) |
lldb::addr_t | GetShlibInfoAddr () |
bool | GetProcessInfo (lldb::pid_t pid, ProcessInstanceInfo &process_info) |
uint32_t | FindProcesses (const ProcessInstanceInfoMatch &process_match_info, ProcessInstanceInfoList &process_infos) |
bool | GetUserName (uint32_t uid, std::string &name) |
bool | GetGroupName (uint32_t gid, std::string &name) |
bool | HasFullVContSupport () |
bool | HasAnyVContSupport () |
bool | GetStopReply (StringExtractorGDBRemote &response) |
bool | GetThreadStopInfo (lldb::tid_t tid, StringExtractorGDBRemote &response) |
bool | SupportsGDBStoppointPacket (GDBStoppointType type) |
uint8_t | SendGDBStoppointTypePacket (GDBStoppointType type, bool insert, lldb::addr_t addr, uint32_t length, std::chrono::seconds interrupt_timeout) |
void | TestPacketSpeed (const uint32_t num_packets, uint32_t max_send, uint32_t max_recv, uint64_t recv_amount, bool json, Stream &strm) |
bool | SendSpeedTestPacket (uint32_t send_size, uint32_t recv_size) |
std::optional< PidTid > | SendSetCurrentThreadPacket (uint64_t tid, uint64_t pid, char op) |
bool | SetCurrentThread (uint64_t tid, lldb::pid_t pid=LLDB_INVALID_PROCESS_ID) |
bool | SetCurrentThreadForRun (uint64_t tid, lldb::pid_t pid=LLDB_INVALID_PROCESS_ID) |
bool | GetQXferAuxvReadSupported () |
void | EnableErrorStringInPacket () |
bool | GetQXferLibrariesReadSupported () |
bool | GetQXferLibrariesSVR4ReadSupported () |
uint64_t | GetRemoteMaxPacketSize () |
bool | GetEchoSupported () |
bool | GetQPassSignalsSupported () |
bool | GetAugmentedLibrariesSVR4ReadSupported () |
bool | GetQXferFeaturesReadSupported () |
bool | GetQXferMemoryMapReadSupported () |
bool | GetQXferSigInfoReadSupported () |
bool | GetMultiprocessSupported () |
LazyBool | SupportsAllocDeallocMemory () |
std::vector< std::pair< lldb::pid_t, lldb::tid_t > > | GetCurrentProcessAndThreadIDs (bool &sequence_mutex_unavailable) |
size_t | GetCurrentThreadIDs (std::vector< lldb::tid_t > &thread_ids, bool &sequence_mutex_unavailable) |
lldb::user_id_t | OpenFile (const FileSpec &file_spec, File::OpenOptions flags, mode_t mode, Status &error) |
bool | CloseFile (lldb::user_id_t fd, Status &error) |
std::optional< GDBRemoteFStatData > | FStat (lldb::user_id_t fd) |
std::optional< GDBRemoteFStatData > | Stat (const FileSpec &file_spec) |
lldb::user_id_t | GetFileSize (const FileSpec &file_spec) |
void | AutoCompleteDiskFileOrDirectory (CompletionRequest &request, bool only_dir) |
Status | GetFilePermissions (const FileSpec &file_spec, uint32_t &file_permissions) |
Status | SetFilePermissions (const FileSpec &file_spec, uint32_t file_permissions) |
uint64_t | ReadFile (lldb::user_id_t fd, uint64_t offset, void *dst, uint64_t dst_len, Status &error) |
uint64_t | WriteFile (lldb::user_id_t fd, uint64_t offset, const void *src, uint64_t src_len, Status &error) |
Status | CreateSymlink (const FileSpec &src, const FileSpec &dst) |
Status | Unlink (const FileSpec &file_spec) |
Status | MakeDirectory (const FileSpec &file_spec, uint32_t mode) |
bool | GetFileExists (const FileSpec &file_spec) |
Status | RunShellCommand (llvm::StringRef command, const FileSpec &working_dir, int *status_ptr, int *signo_ptr, std::string *command_output, const Timeout< std::micro > &timeout) |
llvm::ErrorOr< llvm::MD5::MD5Result > | CalculateMD5 (const FileSpec &file_spec) |
lldb::DataBufferSP | ReadRegister (lldb::tid_t tid, uint32_t reg_num) |
lldb::DataBufferSP | ReadAllRegisters (lldb::tid_t tid) |
bool | WriteRegister (lldb::tid_t tid, uint32_t reg_num, llvm::ArrayRef< uint8_t > data) |
bool | WriteAllRegisters (lldb::tid_t tid, llvm::ArrayRef< uint8_t > data) |
bool | SaveRegisterState (lldb::tid_t tid, uint32_t &save_id) |
bool | RestoreRegisterState (lldb::tid_t tid, uint32_t save_id) |
bool | SyncThreadState (lldb::tid_t tid) |
const char * | GetGDBServerProgramName () |
uint32_t | GetGDBServerProgramVersion () |
bool | AvoidGPackets (ProcessGDBRemote *process) |
StructuredData::ObjectSP | GetThreadsInfo () |
bool | GetThreadExtendedInfoSupported () |
bool | GetLoadedDynamicLibrariesInfosSupported () |
bool | GetSharedCacheInfoSupported () |
bool | GetDynamicLoaderProcessStateSupported () |
bool | GetMemoryTaggingSupported () |
bool | UsesNativeSignals () |
lldb::DataBufferSP | ReadMemoryTags (lldb::addr_t addr, size_t len, int32_t type) |
Status | WriteMemoryTags (lldb::addr_t addr, size_t len, int32_t type, const std::vector< uint8_t > &tags) |
std::optional< QOffsets > | GetQOffsets () |
Use qOffsets to query the offset used when relocating the target executable. | |
bool | GetModuleInfo (const FileSpec &module_file_spec, const ArchSpec &arch_spec, ModuleSpec &module_spec) |
std::optional< std::vector< ModuleSpec > > | GetModulesInfo (llvm::ArrayRef< FileSpec > module_file_specs, const llvm::Triple &triple) |
llvm::Expected< std::string > | ReadExtFeature (llvm::StringRef object, llvm::StringRef annex) |
void | ServeSymbolLookups (lldb_private::Process *process) |
Status | SendSignalsToIgnore (llvm::ArrayRef< int32_t > signals) |
const std::string & | GetServerSupportedFeatures () const |
Return the feature set supported by the gdb-remote server. | |
lldb_private::StructuredData::Array * | GetSupportedStructuredDataPlugins () |
Return the array of async JSON packet types supported by the remote. | |
Status | ConfigureRemoteStructuredData (llvm::StringRef type_name, const StructuredData::ObjectSP &config_sp) |
Configure a StructuredData feature on the remote end. | |
llvm::Expected< TraceSupportedResponse > | SendTraceSupported (std::chrono::seconds interrupt_timeout) |
llvm::Error | SendTraceStart (const llvm::json::Value &request, std::chrono::seconds interrupt_timeout) |
llvm::Error | SendTraceStop (const TraceStopRequest &request, std::chrono::seconds interrupt_timeout) |
llvm::Expected< std::string > | SendTraceGetState (llvm::StringRef type, std::chrono::seconds interrupt_timeout) |
llvm::Expected< std::vector< uint8_t > > | SendTraceGetBinaryData (const TraceGetBinaryDataRequest &request, std::chrono::seconds interrupt_timeout) |
bool | GetSaveCoreSupported () const |
llvm::Expected< int > | KillProcess (lldb::pid_t pid) |
Public Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteClientBase | |
GDBRemoteClientBase (const char *comm_name) | |
bool | SendAsyncSignal (int signo, std::chrono::seconds interrupt_timeout) |
bool | Interrupt (std::chrono::seconds interrupt_timeout) |
lldb::StateType | SendContinuePacketAndWaitForResponse (ContinueDelegate &delegate, const UnixSignals &signals, llvm::StringRef payload, std::chrono::seconds interrupt_timeout, StringExtractorGDBRemote &response) |
PacketResult | SendPacketAndWaitForResponse (llvm::StringRef payload, StringExtractorGDBRemote &response, std::chrono::seconds interrupt_timeout=std::chrono::seconds(0)) |
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 |
FileSpec | GetDebugserverPath (Platform *platform) |
Status | StartDebugserverProcess (const char *url, Platform *platform, ProcessLaunchInfo &launch_info, uint16_t *port, const Args *inferior_args, shared_fd_t pass_comm_fd) |
void | DumpHistory (Stream &strm) |
void | SetPacketRecorder (repro::PacketRecorder *recorder) |
Public Member Functions inherited from lldb_private::Communication | |
Communication () | |
Construct the Communication object. | |
virtual | ~Communication () |
Destructor. | |
virtual void | Clear () |
lldb::ConnectionStatus | Connect (const char *url, Status *error_ptr) |
Connect using the current connection by passing url to its connect function. | |
virtual lldb::ConnectionStatus | Disconnect (Status *error_ptr=nullptr) |
Disconnect the communications connection if one is currently connected. | |
bool | IsConnected () const |
Check if the connection is valid. | |
bool | HasConnection () const |
lldb_private::Connection * | GetConnection () |
virtual size_t | Read (void *dst, size_t dst_len, const Timeout< std::micro > &timeout, lldb::ConnectionStatus &status, Status *error_ptr) |
Read bytes from the current connection. | |
size_t | Write (const void *src, size_t src_len, lldb::ConnectionStatus &status, Status *error_ptr) |
The actual write function that attempts to write to the communications protocol. | |
size_t | WriteAll (const void *src, size_t src_len, lldb::ConnectionStatus &status, Status *error_ptr) |
Repeatedly attempt writing until either src_len bytes are written or a permanent failure occurs. | |
virtual void | SetConnection (std::unique_ptr< Connection > connection) |
Sets the connection that it to be used by this class. | |
bool | GetCloseOnEOF () const |
void | SetCloseOnEOF (bool b) |
Public Member Functions inherited from lldb_private::Broadcaster | |
Broadcaster (lldb::BroadcasterManagerSP manager_sp, std::string name) | |
Construct with a broadcaster with a name. | |
virtual | ~Broadcaster () |
Destructor. | |
void | CheckInWithManager () |
void | BroadcastEvent (lldb::EventSP &event_sp) |
Broadcast an event which has no associated data. | |
void | BroadcastEventIfUnique (lldb::EventSP &event_sp) |
void | BroadcastEvent (uint32_t event_type, const lldb::EventDataSP &event_data_sp) |
void | BroadcastEvent (uint32_t event_type) |
void | BroadcastEventIfUnique (uint32_t event_type) |
void | Clear () |
virtual void | AddInitialEventsToListener (const lldb::ListenerSP &listener_sp, uint32_t requested_events) |
uint32_t | AddListener (const lldb::ListenerSP &listener_sp, uint32_t event_mask) |
Listen for any events specified by event_mask. | |
const std::string & | GetBroadcasterName () |
Get this broadcaster's name. | |
bool | GetEventNames (Stream &s, const uint32_t event_mask, bool prefix_with_broadcaster_name) const |
Get the event name(s) for one or more event bits. | |
void | SetEventName (uint32_t event_mask, const char *name) |
Set the name for an event bit. | |
const char * | GetEventName (uint32_t event_mask) const |
bool | EventTypeHasListeners (uint32_t event_type) |
bool | RemoveListener (const lldb::ListenerSP &listener_sp, uint32_t event_mask=UINT32_MAX) |
Removes a Listener from this broadcasters list and frees the event bits specified by event_mask that were previously acquired by listener (assuming listener was listening to this object) for other listener objects to use. | |
bool | HijackBroadcaster (const lldb::ListenerSP &listener_sp, uint32_t event_mask=UINT32_MAX) |
Provides a simple mechanism to temporarily redirect events from broadcaster. | |
bool | IsHijackedForEvent (uint32_t event_mask) |
void | RestoreBroadcaster () |
Restore the state of the Broadcaster from a previous hijack attempt. | |
virtual llvm::StringRef | GetBroadcasterClass () const |
This needs to be filled in if you are going to register the broadcaster with the broadcaster manager and do broadcaster class matching. | |
lldb::BroadcasterManagerSP | GetManager () |
void | SetPrimaryListener (lldb::ListenerSP listener_sp) |
lldb::ListenerSP | GetPrimaryListener () |
Private Member Functions | |
GDBRemoteCommunicationClient (const GDBRemoteCommunicationClient &)=delete | |
const GDBRemoteCommunicationClient & | operator= (const GDBRemoteCommunicationClient &)=delete |
Definition at line 60 of file GDBRemoteCommunicationClient.h.
GDBRemoteCommunicationClient::GDBRemoteCommunicationClient | ( | ) |
Definition at line 61 of file GDBRemoteCommunicationClient.cpp.
|
override |
Definition at line 81 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Communication::Disconnect(), and lldb_private::Communication::IsConnected().
|
privatedelete |
addr_t GDBRemoteCommunicationClient::AllocateMemory | ( | size_t | size, |
uint32_t | permissions | ||
) |
Definition at line 1455 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractor::GetHexMaxU64(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_INVALID_ADDRESS, m_supports_alloc_dealloc_memory, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoAllocateMemory().
void GDBRemoteCommunicationClient::AutoCompleteDiskFileOrDirectory | ( | CompletionRequest & | request, |
bool | only_dir | ||
) |
Definition at line 3182 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::CompletionRequest::AddCompletion(), lldb_private::StreamString::Clear(), StringExtractor::GetChar(), lldb_private::CompletionRequest::GetCursorArgumentPrefix(), StringExtractor::GetHexU8(), lldb_private::StreamString::GetString(), StringExtractor::Peek(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutHex32(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
bool GDBRemoteCommunicationClient::AvoidGPackets | ( | ProcessGDBRemote * | process | ) |
Definition at line 3491 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb_private::Target::GetArchitecture(), GetGDBServerProgramName(), GetGDBServerProgramVersion(), lldb_private::Process::GetTarget(), lldb_private::ArchSpec::GetTriple(), lldb_private::ArchSpec::IsValid(), and m_avoid_g_packets.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadAllRegisterValues(), and lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteAllRegisterValues().
llvm::ErrorOr< llvm::MD5::MD5Result > GDBRemoteCommunicationClient::CalculateMD5 | ( | const FileSpec & | file_spec | ) |
Definition at line 3425 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetChar(), StringExtractor::GetFilePos(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), StringExtractor::Peek(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), StringExtractor::SetFilePos(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
bool GDBRemoteCommunicationClient::CloseFile | ( | lldb::user_id_t | fd, |
Status & | error | ||
) |
Definition at line 3108 of file GDBRemoteCommunicationClient.cpp.
References error(), lldb_private::StreamString::GetString(), ParseHostIOPacketResponse(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by GetFileExists(), and Stat().
Status GDBRemoteCommunicationClient::ConfigureRemoteStructuredData | ( | llvm::StringRef | type_name, |
const StructuredData::ObjectSP & | config_sp | ||
) |
Configure a StructuredData feature on the remote end.
Definition at line 4274 of file GDBRemoteCommunicationClient.cpp.
References error(), lldb_private::StreamString::Flush(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormatv(), lldb_private::StreamString::GetSize(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::ConfigureStructuredData().
Definition at line 3328 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, error(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), gdb_errno_to_system(), StringExtractor::GetChar(), StringExtractor::GetHexMaxU32(), lldb_private::FileSpec::GetPath(), StringExtractor::GetS32(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT32_MAX.
bool GDBRemoteCommunicationClient::DeallocateMemory | ( | lldb::addr_t | addr | ) |
Definition at line 1481 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_alloc_dealloc_memory, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoDeallocateMemory().
|
protected |
Definition at line 1996 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Args::AppendArgument(), lldb_private::Args::Clear(), lldb_private::eArchTypeMachO, lldb_private::ProcessInfo::GetArchitecture(), lldb_private::ProcessInfo::GetArguments(), lldb_private::ProcessInfo::GetExecutableFile(), StringExtractor::GetHexByteString(), StringExtractor::GetNameColonValue(), lldb_private::ProcessInfo::GetProcessID(), lldb_private::ArchSpec::GetTriple(), StringExtractorGDBRemote::IsNormalResponse(), LLDB_INVALID_CPUTYPE, LLDB_INVALID_PROCESS_ID, lldb_private::ArchSpec::SetArchitecture(), lldb_private::ProcessInfo::SetArg0(), lldb_private::ProcessInstanceInfo::SetEffectiveGroupID(), lldb_private::ProcessInstanceInfo::SetEffectiveUserID(), lldb_private::FileSpec::SetFile(), lldb_private::ProcessInfo::SetGroupID(), lldb_private::ProcessInstanceInfo::SetParentProcessID(), lldb_private::ProcessInfo::SetProcessID(), lldb_private::ArchSpec::SetTriple(), lldb_private::ProcessInfo::SetUserID(), and UINT32_MAX.
Referenced by FindProcesses(), and GetProcessInfo().
Status GDBRemoteCommunicationClient::Detach | ( | bool | keep_stopped, |
lldb::pid_t | pid = LLDB_INVALID_PROCESS_ID |
||
) |
Definition at line 1503 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, error(), lldb_private::Status::FromErrorString(), GetCurrentProcessID(), GetMultiprocessSupported(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), LLDB_INVALID_PROCESS_ID, m_supports_detach_stay_stopped, lldb_private::Stream::PutChar(), lldb_private::Stream::PutHex64(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DidFork(), lldb_private::process_gdb_remote::ProcessGDBRemote::DidVFork(), and lldb_private::process_gdb_remote::ProcessGDBRemote::DoDetach().
void GDBRemoteCommunicationClient::EnableErrorStringInPacket | ( | ) |
Definition at line 593 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_supports_error_string_reply, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::ConnectToDebugserver().
uint32_t GDBRemoteCommunicationClient::FindProcesses | ( | const ProcessInstanceInfoMatch & | process_match_info, |
ProcessInstanceInfoList & | process_infos | ||
) |
Definition at line 2286 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Contains, DecodeProcessInfoResponse(), lldb_private::ProcessInstanceInfo::EffectiveGroupIDIsValid(), lldb_private::ProcessInstanceInfo::EffectiveUserIDIsValid(), lldb_private::EndsWith, lldb_private::Equals, lldb_private::ProcessInfo::GetArchitecture(), lldb_private::ProcessInstanceInfo::GetEffectiveGroupID(), lldb_private::ProcessInstanceInfo::GetEffectiveUserID(), lldb_private::ProcessInfo::GetGroupID(), lldb_private::ProcessInstanceInfoMatch::GetMatchAllUsers(), lldb_private::ProcessInfo::GetName(), lldb_private::ProcessInstanceInfoMatch::GetNameMatchType(), lldb_private::ProcessInstanceInfo::GetParentProcessID(), lldb_private::ProcessInfo::GetProcessID(), lldb_private::ProcessInstanceInfoMatch::GetProcessInfo(), lldb_private::StreamString::GetString(), lldb_private::ArchSpec::GetTriple(), lldb_private::ProcessInfo::GetUserID(), lldb_private::ProcessInfo::GroupIDIsValid(), lldb_private::Ignore, lldb_private::ArchSpec::IsValid(), m_supports_qfProcessInfo, lldb_private::ProcessInstanceInfoMatch::MatchAllProcesses(), lldb_private::ProcessInstanceInfo::ParentProcessIDIsValid(), lldb_private::Stream::Printf(), lldb_private::ProcessInfo::ProcessIDIsValid(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::RegularExpression, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::StartsWith, lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::ProcessInfo::UserIDIsValid().
std::optional< GDBRemoteFStatData > GDBRemoteCommunicationClient::FStat | ( | lldb::user_id_t | fd | ) |
Definition at line 3121 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetChar(), StringExtractorGDBRemote::GetEscapedBinaryData(), StringExtractor::GetS64(), lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by Stat().
AddressableBits GDBRemoteCommunicationClient::GetAddressableBits | ( | ) |
Definition at line 1436 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetHostInfo(), m_high_mem_addressing_bits, m_low_mem_addressing_bits, m_qHostInfo_is_valid, and lldb_private::AddressableBits::SetAddressableBits().
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DidLaunchOrAttach().
bool GDBRemoteCommunicationClient::GetAugmentedLibrariesSVR4ReadSupported | ( | ) |
Definition at line 140 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_augmented_libraries_svr4_read.
std::vector< std::pair< lldb::pid_t, lldb::tid_t > > GDBRemoteCommunicationClient::GetCurrentProcessAndThreadIDs | ( | bool & | sequence_mutex_unavailable | ) |
Definition at line 2873 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetChar(), lldb_private::GetLog(), StringExtractorGDBRemote::GetPidTid(), lldb_private::Communication::IsConnected(), StringExtractorGDBRemote::IsNormalResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_INVALID_PROCESS_ID, LLDB_LOG, lldb_private::process_gdb_remote::Packets, lldb_private::process_gdb_remote::Process, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponseNoLock(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by GetCurrentProcessID(), and GetCurrentThreadIDs().
lldb::pid_t GDBRemoteCommunicationClient::GetCurrentProcessID | ( | bool | allow_lazy = true | ) |
Definition at line 733 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolYes, StringExtractor::GetChar(), GetCurrentProcessAndThreadIDs(), GetCurrentProcessInfo(), StringExtractor::GetHexMaxU64(), LLDB_INVALID_PROCESS_ID, m_curr_pid, m_curr_pid_is_valid, m_curr_pid_run, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by Detach(), lldb_private::process_gdb_remote::ProcessGDBRemote::DidFork(), lldb_private::process_gdb_remote::ProcessGDBRemote::DidVFork(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoConnectRemote(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch(), GetCurrentThreadIDs(), lldb_private::process_gdb_remote::ProcessGDBRemote::HandleStopReply(), lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo(), and lldb_private::process_gdb_remote::ProcessGDBRemote::UpdateThreadIDsFromStopReplyThreadsValue().
|
protected |
Definition at line 2115 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eArchTypeCOFF, lldb_private::eArchTypeELF, lldb_private::eArchTypeMachO, lldb::eByteOrderBig, lldb::eByteOrderInvalid, lldb::eByteOrderLittle, lldb::eByteOrderPDP, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb_private::ArchSpec::GetAddressByteSize(), lldb_private::ArchSpec::GetByteOrder(), GetGDBServerVersion(), StringExtractor::GetHexByteString(), GetHostInfo(), lldb_private::GetLog(), StringExtractor::GetNameColonValue(), lldb_private::ArchSpec::GetTriple(), StringExtractor::GetU64(), StringExtractorGDBRemote::IsNormalResponse(), LLDB_INVALID_ADDRESS, LLDB_INVALID_CPUTYPE, LLDB_INVALID_PROCESS_ID, LLDB_LOGF, m_binary_addresses, m_curr_pid, m_curr_pid_is_valid, m_curr_pid_run, m_gdb_server_version, m_process_arch, m_process_standalone_uuid, m_process_standalone_value, m_process_standalone_value_is_offset, m_qProcessInfo_is_valid, lldb_private::process_gdb_remote::Packets, ParseOSType(), lldb_private::process_gdb_remote::Process, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::ArchSpec::SetArchitecture(), lldb_private::ArchSpec::SetFlags(), lldb_private::UUID::SetFromStringRef(), lldb_private::ArchSpec::SetTriple(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by GetCurrentProcessID(), GetProcessArchitecture(), GetProcessStandaloneBinaries(), and GetProcessStandaloneBinary().
size_t GDBRemoteCommunicationClient::GetCurrentThreadIDs | ( | std::vector< lldb::tid_t > & | thread_ids, |
bool & | sequence_mutex_unavailable | ||
) |
Definition at line 2929 of file GDBRemoteCommunicationClient.cpp.
References StringExtractorGDBRemote::AllThreads, GetCurrentProcessAndThreadIDs(), GetCurrentProcessID(), LLDB_INVALID_PROCESS_ID, and LLDB_INVALID_THREAD_ID.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::UpdateThreadIDList().
bool GDBRemoteCommunicationClient::GetDefaultThreadId | ( | lldb::tid_t & | tid | ) |
Definition at line 1169 of file GDBRemoteCommunicationClient.cpp.
References StringExtractorGDBRemote::AllProcesses, lldb_private::eLazyBoolYes, StringExtractor::GetChar(), StringExtractorGDBRemote::GetPidTid(), StringExtractorGDBRemote::IsNormalResponse(), m_curr_pid, m_curr_pid_is_valid, m_curr_pid_run, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
bool GDBRemoteCommunicationClient::GetDynamicLoaderProcessStateSupported | ( | ) |
Definition at line 636 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_jGetDyldProcessState, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetDynamicLoaderProcessState().
bool GDBRemoteCommunicationClient::GetEchoSupported | ( | ) |
Definition at line 126 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::m_supports_qEcho.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::ConnectToDebugserver().
bool GDBRemoteCommunicationClient::GetFileExists | ( | const FileSpec & | file_spec | ) |
Definition at line 3394 of file GDBRemoteCommunicationClient.cpp.
References CloseFile(), lldb_private::File::eOpenOptionReadOnly, error(), StringExtractor::GetChar(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_vFileExists, OpenFile(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT64_MAX.
Status GDBRemoteCommunicationClient::GetFilePermissions | ( | const FileSpec & | file_spec, |
uint32_t & | file_permissions | ||
) |
Definition at line 3208 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, error(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), gdb_errno_to_system(), StringExtractor::GetChar(), lldb_private::StreamString::GetData(), lldb_private::FileSpec::GetPath(), StringExtractor::GetS32(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_vFileMode, lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), S_IRWXG, S_IRWXO, S_IRWXU, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), Stat(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
lldb::user_id_t GDBRemoteCommunicationClient::GetFileSize | ( | const FileSpec & | file_spec | ) |
Definition at line 3156 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetChar(), StringExtractor::GetHexMaxU64(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_vFileSize, lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), Stat(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT64_MAX.
const char * GDBRemoteCommunicationClient::GetGDBServerProgramName | ( | ) |
Definition at line 1155 of file GDBRemoteCommunicationClient.cpp.
References GetGDBServerVersion(), and m_gdb_server_name.
Referenced by AvoidGPackets().
uint32_t GDBRemoteCommunicationClient::GetGDBServerProgramVersion | ( | ) |
Definition at line 1163 of file GDBRemoteCommunicationClient.cpp.
References GetGDBServerVersion(), and m_gdb_server_version.
Referenced by AvoidGPackets().
|
protected |
Definition at line 1047 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractor::GetNameColonValue(), StringExtractorGDBRemote::IsNormalResponse(), m_gdb_server_name, m_gdb_server_version, m_qGDBServerVersion_is_valid, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by GetCurrentProcessInfo(), GetGDBServerProgramName(), and GetGDBServerProgramVersion().
bool GDBRemoteCommunicationClient::GetGroupName | ( | uint32_t | gid, |
std::string & | name | ||
) |
Definition at line 2408 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetHexByteString(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsNormalResponse(), m_supports_qGroupName, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
const lldb_private::ArchSpec & GDBRemoteCommunicationClient::GetHostArchitecture | ( | ) |
Definition at line 1430 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetHostInfo(), m_host_arch, and m_qHostInfo_is_valid.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::BuildDynamicRegisterInfo(), lldb_private::process_gdb_remote::ProcessGDBRemote::DidLaunchOrAttach(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoConnectRemote(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetSystemArchitecture(), and GetWorkingDir().
seconds GDBRemoteCommunicationClient::GetHostDefaultPacketTimeout | ( | ) |
Definition at line 1449 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetHostInfo(), m_default_packet_timeout, and m_qHostInfo_is_valid.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::BuildDynamicRegisterInfo().
bool GDBRemoteCommunicationClient::GetHostInfo | ( | bool | force = false | ) |
Definition at line 1213 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eArchTypeMachO, lldb::eByteOrderBig, lldb::eByteOrderInvalid, lldb::eByteOrderLittle, lldb::eByteOrderPDP, lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb_private::ArchSpec::GetAddressByteSize(), lldb_private::ArchSpec::GetArchitectureName(), lldb_private::ArchSpec::GetByteOrder(), StringExtractor::GetHexByteString(), lldb_private::GetLog(), lldb_private::ArchSpec::GetMachine(), StringExtractor::GetNameColonValue(), lldb_private::ArchSpec::GetTriple(), StringExtractorGDBRemote::IsNormalResponse(), LLDB_INVALID_CPUTYPE, LLDB_LOGF, m_default_packet_timeout, m_high_mem_addressing_bits, m_host_arch, m_host_distribution_id, m_hostname, m_low_mem_addressing_bits, m_maccatalyst_version, m_os_build, m_os_kernel, m_os_version, m_qHostInfo_is_valid, m_target_vm_page_size, m_watchpoints_trigger_after_instruction, ParseOSType(), lldb_private::process_gdb_remote::Process, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::ArchSpec::SetArchitecture(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SetPacketTimeout(), lldb_private::ArchSpec::SetTriple(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::ConnectToDebugserver(), GetAddressableBits(), GetCurrentProcessInfo(), GetHostArchitecture(), GetHostDefaultPacketTimeout(), GetHostname(), GetMacCatalystVersion(), GetOSBuildString(), GetOSKernelDescription(), GetOSVersion(), GetSystemArchitecture(), and GetWatchpointReportedAfter().
bool GDBRemoteCommunicationClient::GetHostname | ( | std::string & | s | ) |
Definition at line 999 of file GDBRemoteCommunicationClient.cpp.
References GetHostInfo(), and m_hostname.
void GDBRemoteCommunicationClient::GetListThreadsInStopReplySupported | ( | ) |
Definition at line 226 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_supports_threads_in_stop_reply, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::ConnectToDebugserver().
bool GDBRemoteCommunicationClient::GetLoadedDynamicLibrariesInfosSupported | ( | ) |
Definition at line 608 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_supports_jLoadedDynamicLibrariesInfos, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetLoadedDynamicLibrariesInfos_sender().
llvm::VersionTuple GDBRemoteCommunicationClient::GetMacCatalystVersion | ( | ) |
Definition at line 977 of file GDBRemoteCommunicationClient.cpp.
References GetHostInfo(), and m_maccatalyst_version.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetHostMacCatalystVersion().
Status GDBRemoteCommunicationClient::GetMemoryRegionInfo | ( | lldb::addr_t | addr, |
lldb_private::MemoryRegionInfo & | region_info | ||
) |
Definition at line 1556 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::SetIsStackMemory(), lldb_private::MemoryRegionInfo::SetMapped(), lldb_private::MemoryRegionInfo::SetMemoryTagged(), lldb_private::MemoryRegionInfo::SetName(), lldb_private::MemoryRegionInfo::SetPageSize(), lldb_private::Range< B, S >::SetRangeBase(), lldb_private::Range< B, S >::SetRangeEnd(), lldb_private::MemoryRegionInfo::SetReadable(), lldb_private::MemoryRegionInfo::SetWritable(), lldb_private::Status::Success(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoGetMemoryRegionInfo().
bool GDBRemoteCommunicationClient::GetMemoryTaggingSupported | ( | ) |
Definition at line 649 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_memory_tagging.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::SupportsMemoryTagging().
bool GDBRemoteCommunicationClient::GetModuleInfo | ( | const FileSpec & | module_file_spec, |
const ArchSpec & | arch_spec, | ||
ModuleSpec & | module_spec | ||
) |
Definition at line 3832 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::ModuleSpec::Clear(), lldb_private::ModuleSpec::GetArchitecture(), lldb_private::ModuleSpec::GetFileSpec(), StringExtractor::GetHexByteString(), StringExtractor::GetNameColonValue(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), lldb_private::ArchSpec::GetTriple(), lldb_private::ModuleSpec::GetUUID(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_qModuleInfo, lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::UUID::SetFromStringRef(), lldb_private::ModuleSpec::SetObjectOffset(), lldb_private::ModuleSpec::SetObjectSize(), lldb_private::ArchSpec::SetTriple(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetModuleSpec().
std::optional< std::vector< ModuleSpec > > GDBRemoteCommunicationClient::GetModulesInfo | ( | llvm::ArrayRef< FileSpec > | module_file_specs, |
const llvm::Triple & | triple | ||
) |
Definition at line 3932 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Stream::AsRawOstream(), lldb_private::StructuredData::Object::GetAsArray(), lldb_private::StructuredData::Array::GetItemAtIndex(), lldb_private::StreamString::GetSize(), lldb_private::StructuredData::Array::GetSize(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_jModulesInfo, lldb_private::StructuredData::ParseJSON(), ParseModuleSpec(), lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::PrefetchModuleSpecs().
bool GDBRemoteCommunicationClient::GetMultiprocessSupported | ( | ) |
Definition at line 189 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), m_supports_memory_tagging, and m_supports_multiprocess.
Referenced by Detach(), and lldb_private::process_gdb_remote::ProcessGDBRemote::DoResume().
std::optional< std::string > GDBRemoteCommunicationClient::GetOSBuildString | ( | ) |
Definition at line 982 of file GDBRemoteCommunicationClient.cpp.
References GetHostInfo(), and m_os_build.
std::optional< std::string > GDBRemoteCommunicationClient::GetOSKernelDescription | ( | ) |
Definition at line 991 of file GDBRemoteCommunicationClient.cpp.
References GetHostInfo(), and m_os_kernel.
llvm::VersionTuple GDBRemoteCommunicationClient::GetOSVersion | ( | ) |
Definition at line 972 of file GDBRemoteCommunicationClient.cpp.
References GetHostInfo(), and m_os_version.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetHostOSVersion().
bool GDBRemoteCommunicationClient::GetpPacketSupported | ( | lldb::tid_t | tid | ) |
Definition at line 537 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetThreadPacketSupported(), and m_supports_p.
Referenced by lldb_private::process_gdb_remote::ThreadGDBRemote::CreateRegisterContextForFrame().
const lldb_private::ArchSpec & GDBRemoteCommunicationClient::GetProcessArchitecture | ( | ) |
Definition at line 1017 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetCurrentProcessInfo(), m_process_arch, and m_qProcessInfo_is_valid.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::BuildDynamicRegisterInfo(), lldb_private::process_gdb_remote::ProcessGDBRemote::DidLaunchOrAttach(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoConnectRemote(), and lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch().
bool GDBRemoteCommunicationClient::GetProcessInfo | ( | lldb::pid_t | pid, |
ProcessInstanceInfo & | process_info | ||
) |
Definition at line 2093 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::ProcessInstanceInfo::Clear(), DecodeProcessInfoResponse(), m_supports_qProcessInfoPID, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
std::vector< addr_t > GDBRemoteCommunicationClient::GetProcessStandaloneBinaries | ( | ) |
Definition at line 1041 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetCurrentProcessInfo(), m_binary_addresses, and m_qProcessInfo_is_valid.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::LoadStubBinaries().
bool GDBRemoteCommunicationClient::GetProcessStandaloneBinary | ( | UUID & | uuid, |
lldb::addr_t & | value, | ||
bool & | value_is_offset | ||
) |
Definition at line 1023 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, GetCurrentProcessInfo(), lldb_private::UUID::IsValid(), LLDB_INVALID_ADDRESS, m_process_standalone_uuid, m_process_standalone_value, m_process_standalone_value_is_offset, and m_qProcessInfo_is_valid.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::LoadStubBinaries().
std::optional< QOffsets > GDBRemoteCommunicationClient::GetQOffsets | ( | ) |
Use qOffsets to query the offset used when relocating the target executable.
If successful, the returned structure will contain at least one value in the offsets field.
Definition at line 3792 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsNormalResponse(), lldb_private::process_gdb_remote::QOffsets::offsets, lldb_private::process_gdb_remote::QOffsets::segments, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::MaybeLoadExecutableModule().
bool GDBRemoteCommunicationClient::GetQPassSignalsSupported | ( | ) |
Definition at line 133 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_QPassSignals.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::UpdateAutomaticSignalFiltering().
bool GDBRemoteCommunicationClient::GetQXferAuxvReadSupported | ( | ) |
Definition at line 161 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_qXfer_auxv_read.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetAuxvData().
bool GDBRemoteCommunicationClient::GetQXferFeaturesReadSupported | ( | ) |
Definition at line 168 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_qXfer_features_read.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetGDBServerRegisterInfo().
bool GDBRemoteCommunicationClient::GetQXferLibrariesReadSupported | ( | ) |
Definition at line 154 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_qXfer_libraries_read.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetLoadedModuleList().
bool GDBRemoteCommunicationClient::GetQXferLibrariesSVR4ReadSupported | ( | ) |
Definition at line 147 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_qXfer_libraries_svr4_read.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetLoadedModuleList().
bool GDBRemoteCommunicationClient::GetQXferMemoryMapReadSupported | ( | ) |
Definition at line 175 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_qXfer_memory_map_read.
Referenced by LoadQXferMemoryMap().
|
protected |
Definition at line 1714 of file GDBRemoteCommunicationClient.cpp.
References error(), lldb_private::Status::FromErrorString(), LoadQXferMemoryMap(), and m_qXfer_memory_map.
Referenced by GetMemoryRegionInfo().
bool GDBRemoteCommunicationClient::GetQXferSigInfoReadSupported | ( | ) |
Definition at line 182 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), and m_supports_qXfer_siginfo_read.
Referenced by lldb_private::process_gdb_remote::ThreadGDBRemote::GetSiginfo().
uint64_t GDBRemoteCommunicationClient::GetRemoteMaxPacketSize | ( | ) |
Definition at line 195 of file GDBRemoteCommunicationClient.cpp.
References GetRemoteQSupported(), and m_max_packet_size.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetMaxMemorySize(), and ReadExtFeature().
void GDBRemoteCommunicationClient::GetRemoteQSupported | ( | ) |
Definition at line 336 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_uses_native_signals, m_watchpoint_types, MaybeEnableCompression(), 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(), and UsesNativeSignals().
bool GDBRemoteCommunicationClient::GetSaveCoreSupported | ( | ) | const |
Definition at line 556 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolYes, and m_supports_qSaveCore.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::SaveCore().
|
inline |
Return the feature set supported by the gdb-remote server.
This method returns the remote side's response to the qSupported packet. The response is the complete string payload returned to the client.
Definition at line 471 of file GDBRemoteCommunicationClient.h.
References m_qSupported_response.
bool GDBRemoteCommunicationClient::GetSharedCacheInfoSupported | ( | ) |
Definition at line 622 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_supports_jGetSharedCacheInfo, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetSharedCacheInfo().
lldb::addr_t GDBRemoteCommunicationClient::GetShlibInfoAddr | ( | ) |
Definition at line 2950 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetHexMaxU64(), StringExtractorGDBRemote::IsNormalResponse(), LLDB_INVALID_ADDRESS, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetImageInfoAddress().
bool GDBRemoteCommunicationClient::GetStopReply | ( | StringExtractorGDBRemote & | response | ) |
Definition at line 2781 of file GDBRemoteCommunicationClient.cpp.
References StringExtractorGDBRemote::IsNormalResponse(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoConnectRemote(), and lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch().
StructuredData::Array * GDBRemoteCommunicationClient::GetSupportedStructuredDataPlugins | ( | ) |
Return the array of async JSON packet types supported by the remote.
This method returns the remote side's array of supported JSON packet types as a list of type names. Each of the results are expected to have an Enable{type_name} command to enable and configure the related feature. Each type_name for an enabled feature will possibly send async-style packets that contain a payload of a binhex-encoded JSON dictionary. The dictionary will have a string field named 'type', that contains the type_name of the supported packet type.
There is a Plugin category called structured-data plugins. A plugin indicates whether it knows how to handle a type_name. If so, it can be used to process the async JSON packet.
Definition at line 4207 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetData(), lldb_private::GetLog(), StringExtractor::GetStringRef(), LLDB_LOGF, m_supported_async_json_packets_is_valid, m_supported_async_json_packets_sp, lldb_private::StructuredData::ParseJSON(), lldb_private::process_gdb_remote::Process, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DidLaunchOrAttach().
WatchpointHardwareFeature GDBRemoteCommunicationClient::GetSupportedWatchpointTypes | ( | ) |
Definition at line 1845 of file GDBRemoteCommunicationClient.cpp.
References m_watchpoint_types.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::EnableWatchpoint().
bool GDBRemoteCommunicationClient::GetSyncThreadStateSupported | ( | ) |
Definition at line 253 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_prepare_for_reg_writing_reply, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by SyncThreadState().
ArchSpec GDBRemoteCommunicationClient::GetSystemArchitecture | ( | ) |
Definition at line 1010 of file GDBRemoteCommunicationClient.cpp.
References GetHostInfo(), and m_host_arch.
bool GDBRemoteCommunicationClient::GetThreadExtendedInfoSupported | ( | ) |
Definition at line 579 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_supports_jThreadExtendedInfo, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetExtendedInfoForThread().
|
protected |
Definition at line 543 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsNormalResponse(), lldb_private::Stream::PutCString(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by GetpPacketSupported().
StructuredData::ObjectSP GDBRemoteCommunicationClient::GetThreadsInfo | ( | ) |
Definition at line 560 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::Empty(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_jThreadsInfo, lldb_private::StructuredData::ParseJSON(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), StringExtractorGDBRemote::SetResponseValidatorToJSON(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::WillPublicStop().
bool GDBRemoteCommunicationClient::GetThreadStopInfo | ( | lldb::tid_t | tid, |
StringExtractorGDBRemote & | response | ||
) |
Definition at line 2788 of file GDBRemoteCommunicationClient.cpp.
References StringExtractorGDBRemote::IsNormalResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_qThreadStopInfo, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
bool GDBRemoteCommunicationClient::GetThreadSuffixSupported | ( | ) |
Definition at line 438 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_supports_thread_suffix, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::ConnectToDebugserver(), SendThreadSpecificPacketAndWaitForResponse(), and UsesNativeSignals().
bool GDBRemoteCommunicationClient::GetUserName | ( | uint32_t | uid, |
std::string & | name | ||
) |
Definition at line 2381 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetHexByteString(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsNormalResponse(), m_supports_qUserName, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
bool GDBRemoteCommunicationClient::GetVAttachOrWaitSupported | ( | ) |
Definition at line 239 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_attach_or_wait_reply, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::ConnectToDebugserver(), and lldb_private::process_gdb_remote::ProcessGDBRemote::DoAttachToProcessWithName().
bool GDBRemoteCommunicationClient::GetVContSupported | ( | char | flavor | ) |
Definition at line 450 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractor::GetStringRef(), m_supports_vCont_all, m_supports_vCont_any, m_supports_vCont_c, m_supports_vCont_C, m_supports_vCont_s, m_supports_vCont_S, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::ConnectToDebugserver(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoResume(), HasAnyVContSupport(), and HasFullVContSupport().
std::optional< bool > GDBRemoteCommunicationClient::GetWatchpointReportedAfter | ( | ) |
Definition at line 1849 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, GetHostInfo(), m_qHostInfo_is_valid, and m_watchpoints_trigger_after_instruction.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoGetWatchpointReportedAfter().
std::optional< uint32_t > GDBRemoteCommunicationClient::GetWatchpointSlotCount | ( | ) |
Definition at line 1814 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractor::GetNameColonValue(), m_num_supported_hardware_watchpoints, m_supports_watchpoint_support_info, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetWatchpointSlotCount().
bool GDBRemoteCommunicationClient::GetWorkingDir | ( | FileSpec & | working_dir | ) |
Gets the current working directory of a remote platform GDB server.
[out] | working_dir | The current working directory on the remote platform. |
Definition at line 1926 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetHexByteString(), GetHostArchitecture(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::FileSpec::SetFile(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
bool GDBRemoteCommunicationClient::GetxPacketSupported | ( | ) |
Definition at line 718 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractorGDBRemote::IsOKResponse(), m_supports_x, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoReadMemory().
bool GDBRemoteCommunicationClient::HandshakeWithServer | ( | Status * | error_ptr | ) |
Definition at line 86 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), lldb_private::Communication::IsConnected(), QueryNoAckModeSupported(), ResetDiscoverableSettings(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::SendAck().
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::ConnectToDebugserver().
|
inline |
Definition at line 260 of file GDBRemoteCommunicationClient.h.
References GetVContSupported().
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoResume().
|
inline |
Definition at line 258 of file GDBRemoteCommunicationClient.h.
References GetVContSupported().
llvm::Expected< int > GDBRemoteCommunicationClient::KillProcess | ( | lldb::pid_t | pid | ) |
Definition at line 4339 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetChar(), StringExtractor::GetHexU8(), lldb_private::process_gdb_remote::GDBRemoteCommunication::GetPacketTimeout(), StringExtractor::GetStringRef(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoDestroy().
bool GDBRemoteCommunicationClient::KillSpawnedProcess | ( | lldb::pid_t | pid | ) |
Definition at line 2705 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
bool GDBRemoteCommunicationClient::LaunchGDBServer | ( | const char * | remote_accept_hostname, |
lldb::pid_t & | pid, | ||
uint16_t & | port, | ||
std::string & | socket_name | ||
) |
Definition at line 2616 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetHexByteString(), StringExtractor::GetNameColonValue(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsErrorResponse(), LLDB_INVALID_PROCESS_ID, lldb_private::Stream::Printf(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
llvm::Error GDBRemoteCommunicationClient::LaunchProcess | ( | const Args & | args | ) |
Launch the process using the provided arguments.
[in] | args | A list of program arguments. The first entry is the program being run. |
Definition at line 782 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Stream::Format(), lldb_private::Args::GetArgumentAtIndex(), StringExtractor::GetChar(), StringExtractorGDBRemote::GetStatus(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_vRun, lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::Status::ToError().
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch().
|
protected |
Definition at line 1729 of file GDBRemoteCommunicationClient.cpp.
References error(), lldb_private::MemoryRegionInfo::eYes, lldb_private::XMLNode::ForEachChildElement(), lldb_private::Status::FromError(), lldb_private::Status::FromErrorString(), lldb_private::XMLNode::GetAttributeValue(), lldb_private::XMLNode::GetAttributeValueAsUnsigned(), lldb_private::XMLNode::GetElementTextAsUnsigned(), lldb_private::XMLNode::GetName(), GetQXferMemoryMapReadSupported(), lldb_private::MemoryRegionInfo::GetRange(), lldb_private::XMLDocument::GetRootElement(), lldb_private::XMLNode::IsElement(), m_qXfer_memory_map, m_qXfer_memory_map_loaded, lldb_private::XMLDocument::ParseMemory(), ReadExtFeature(), lldb_private::Range< B, S >::SetRangeBase(), and lldb_private::XMLDocument::XMLEnabled().
Referenced by GetQXferMemoryMapRegionInfo().
Definition at line 3012 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, lldb_private::Status::FromErrorStringWithFormat(), StringExtractor::GetChar(), StringExtractor::GetHexMaxU32(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutHex32(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT32_MAX.
|
protected |
Definition at line 1078 of file GDBRemoteCommunicationClient.cpp.
References StringExtractorGDBRemote::IsOKResponse(), lldb_private::process_gdb_remote::LZ4, lldb_private::process_gdb_remote::LZFSE, lldb_private::process_gdb_remote::LZMA, lldb_private::process_gdb_remote::GDBRemoteCommunication::m_compression_type, lldb_private::process_gdb_remote::None, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::process_gdb_remote::ZlibDeflate.
Referenced by GetRemoteQSupported().
|
overrideprotectedvirtual |
Reimplemented from lldb_private::process_gdb_remote::GDBRemoteClientBase.
Definition at line 4323 of file GDBRemoteCommunicationClient.cpp.
References LLDB_INVALID_THREAD_ID, m_curr_tid, and lldb_private::process_gdb_remote::GDBRemoteClientBase::OnRunPacketSent().
lldb::user_id_t GDBRemoteCommunicationClient::OpenFile | ( | const FileSpec & | file_spec, |
File::OpenOptions | flags, | ||
mode_t | mode, | ||
Status & | error | ||
) |
Definition at line 3087 of file GDBRemoteCommunicationClient.cpp.
References error(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), ParseHostIOPacketResponse(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutHex32(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT64_MAX.
Referenced by GetFileExists(), and Stat().
|
privatedelete |
size_t GDBRemoteCommunicationClient::QueryGDBServer | ( | std::vector< std::pair< uint16_t, std::string > > & | connection_urls | ) |
Definition at line 2664 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StructuredData::Object::GetAsArray(), lldb_private::StructuredData::Array::GetItemAtIndexAsDictionary(), lldb_private::StructuredData::Array::GetSize(), StringExtractor::GetStringRef(), lldb_private::StructuredData::Object::GetUnsignedIntegerValue(), lldb_private::StructuredData::Dictionary::GetValueForKey(), lldb_private::StructuredData::ParseJSON(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
bool GDBRemoteCommunicationClient::QueryNoAckModeSupported | ( | ) |
Definition at line 202 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb_private::process_gdb_remote::GDBRemoteCommunication::GetPacketTimeout(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::m_send_acks, m_supports_not_sending_acks, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by HandshakeWithServer().
DataBufferSP GDBRemoteCommunicationClient::ReadAllRegisters | ( | lldb::tid_t | tid | ) |
Definition at line 3533 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetHexBytes(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsNormalResponse(), lldb_private::Stream::PutChar(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadAllRegisterValues(), and lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadRegisterBytes().
llvm::Expected< std::string > GDBRemoteCommunicationClient::ReadExtFeature | ( | llvm::StringRef | object, |
llvm::StringRef | annex | ||
) |
Definition at line 3991 of file GDBRemoteCommunicationClient.cpp.
References GetRemoteMaxPacketSize(), StringExtractor::GetStringRef(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::GetAuxvData(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetGDBServerRegisterInfoXMLAndProcess(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetLoadedModuleList(), lldb_private::process_gdb_remote::ThreadGDBRemote::GetSiginfo(), and LoadQXferMemoryMap().
uint64_t GDBRemoteCommunicationClient::ReadFile | ( | lldb::user_id_t | fd, |
uint64_t | offset, | ||
void * | dst, | ||
uint64_t | dst_len, | ||
Status & | error | ||
) |
Definition at line 3256 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, error(), lldb_private::Status::FromErrorString(), gdb_errno_to_system(), StringExtractor::GetChar(), StringExtractorGDBRemote::GetEscapedBinaryData(), StringExtractor::GetS32(), StringExtractor::GetS64(), lldb_private::StreamString::GetString(), StringExtractor::Peek(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
DataBufferSP GDBRemoteCommunicationClient::ReadMemoryTags | ( | lldb::addr_t | addr, |
size_t | len, | ||
int32_t | type | ||
) |
Definition at line 656 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetBytesLeft(), StringExtractor::GetChar(), StringExtractor::GetHexBytesAvail(), lldb_private::GetLog(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsNormalResponse(), LLDB_LOGF, lldb_private::process_gdb_remote::Memory, lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoReadMemoryTags().
DataBufferSP GDBRemoteCommunicationClient::ReadRegister | ( | lldb::tid_t | tid, |
uint32_t | reg_num | ||
) |
Definition at line 3517 of file GDBRemoteCommunicationClient.cpp.
References StringExtractor::GetHexBytes(), StringExtractor::GetStringRef(), StringExtractorGDBRemote::IsNormalResponse(), lldb_private::Stream::Printf(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::GetPrimordialRegister().
void GDBRemoteCommunicationClient::ResetDiscoverableSettings | ( | bool | did_exec | ) |
Definition at line 267 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::ArchSpec::Clear(), lldb_private::eLazyBoolCalculate, m_attach_or_wait_reply, m_avoid_g_packets, m_curr_pid_is_valid, m_default_packet_timeout, m_gdb_server_name, m_gdb_server_version, m_host_arch, m_host_distribution_id, m_hostname, m_max_packet_size, m_os_build, m_os_kernel, m_os_version, m_prepare_for_reg_writing_reply, m_process_arch, m_qGDBServerVersion_is_valid, m_qHostInfo_is_valid, m_qProcessInfo_is_valid, m_qSupported_response, m_qSymbol_requests_done, m_supported_async_json_packets_is_valid, m_supported_async_json_packets_sp, m_supports_alloc_dealloc_memory, m_supports_augmented_libraries_svr4_read, m_supports_jModulesInfo, m_supports_memory_region_info, m_supports_multiprocess, m_supports_not_sending_acks, m_supports_p, m_supports_QEnvironment, m_supports_QEnvironmentHexEncoded, m_supports_qfProcessInfo, m_supports_qGroupName, m_supports_qModuleInfo, m_supports_qProcessInfoPID, m_supports_qSaveCore, m_supports_QSaveRegisterState, m_supports_qSymbol, m_supports_qThreadStopInfo, m_supports_qUserName, m_supports_qXfer_auxv_read, m_supports_qXfer_features_read, m_supports_qXfer_libraries_read, m_supports_qXfer_libraries_svr4_read, m_supports_qXfer_memory_map_read, m_supports_qXfer_siginfo_read, m_supports_thread_suffix, m_supports_threads_in_stop_reply, m_supports_vCont_c, m_supports_vCont_C, m_supports_vCont_s, m_supports_vCont_S, m_supports_x, m_supports_z0, m_supports_z1, m_supports_z2, m_supports_z3, m_supports_z4, m_target_vm_page_size, m_uses_native_signals, and UINT32_MAX.
Referenced by HandshakeWithServer(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SetLastStopPacket().
bool GDBRemoteCommunicationClient::RestoreRegisterState | ( | lldb::tid_t | tid, |
uint32_t | save_id | ||
) |
Definition at line 3600 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolNo, StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_QSaveRegisterState, lldb_private::Stream::Printf(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteAllRegisterValues().
lldb_private::Status GDBRemoteCommunicationClient::RunShellCommand | ( | llvm::StringRef | command, |
const FileSpec & | working_dir, | ||
int * | status_ptr, | ||
int * | signo_ptr, | ||
std::string * | command_output, | ||
const Timeout< std::micro > & | timeout | ||
) |
Definition at line 2959 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Status::FromErrorString(), StringExtractor::GetChar(), StringExtractorGDBRemote::GetEscapedBinaryData(), StringExtractor::GetHexMaxU32(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutHex32(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT32_MAX.
bool GDBRemoteCommunicationClient::SaveRegisterState | ( | lldb::tid_t | tid, |
uint32_t & | save_id | ||
) |
Definition at line 3575 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, StringExtractor::GetU32(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_QSaveRegisterState, lldb_private::Stream::PutCString(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadAllRegisterValues().
int GDBRemoteCommunicationClient::SendEnvironment | ( | const Environment & | env | ) |
Definition at line 847 of file GDBRemoteCommunicationClient.cpp.
References SendEnvironmentPacket().
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch().
int GDBRemoteCommunicationClient::SendEnvironmentPacket | ( | char const * | name_equal_value | ) |
Sends a "QEnvironment:NAME=VALUE" packet that will build up the environment that will get used when launching an application in conjunction with the 'A' packet.
This function can be called multiple times in a row in order to pass on the desired environment that the inferior should be launched with.
[in] | name_equal_value | A NULL terminated C string that contains a single environment in the format "NAME=VALUE". |
Definition at line 860 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), m_supports_QEnvironment, m_supports_QEnvironmentHexEncoded, lldb_private::Stream::Printf(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by SendEnvironment().
uint8_t GDBRemoteCommunicationClient::SendGDBStoppointTypePacket | ( | GDBStoppointType | type, |
bool | insert, | ||
lldb::addr_t | addr, | ||
uint32_t | length, | ||
std::chrono::seconds | interrupt_timeout | ||
) |
Definition at line 2811 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Breakpoints, lldb_private::process_gdb_remote::eBreakpointHardware, lldb_private::process_gdb_remote::eBreakpointSoftware, lldb_private::process_gdb_remote::eStoppointInvalid, lldb_private::process_gdb_remote::eWatchpointRead, lldb_private::process_gdb_remote::eWatchpointReadWrite, lldb_private::process_gdb_remote::eWatchpointWrite, StringExtractorGDBRemote::GetError(), lldb_private::GetLog(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_LOGF, m_supports_z0, m_supports_z1, m_supports_z2, m_supports_z3, m_supports_z4, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), StringExtractorGDBRemote::SetResponseValidatorToOKErrorNotSupported(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, SupportsGDBStoppointPacket(), and UNUSED_IF_ASSERT_DISABLED.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DidForkSwitchHardwareTraps(), lldb_private::process_gdb_remote::ProcessGDBRemote::DisableBreakpointSite(), lldb_private::process_gdb_remote::ProcessGDBRemote::DisableWatchpoint(), lldb_private::process_gdb_remote::ProcessGDBRemote::EnableBreakpointSite(), and lldb_private::process_gdb_remote::ProcessGDBRemote::EnableWatchpoint().
|
protected |
int GDBRemoteCommunicationClient::SendLaunchArchPacket | ( | const char * | arch | ) |
Definition at line 927 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch().
int GDBRemoteCommunicationClient::SendLaunchEventDataPacket | ( | const char * | data, |
bool * | was_supported = nullptr |
||
) |
Definition at line 944 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SendEventData().
std::optional< PidTid > GDBRemoteCommunicationClient::SendSetCurrentThreadPacket | ( | uint64_t | tid, |
uint64_t | pid, | ||
char | op | ||
) |
Definition at line 2718 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetString(), lldb_private::Communication::IsConnected(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_INVALID_PROCESS_ID, lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT64_MAX.
Referenced by SetCurrentThread(), and SetCurrentThreadForRun().
Status GDBRemoteCommunicationClient::SendSignalsToIgnore | ( | llvm::ArrayRef< int32_t > | signals | ) |
Definition at line 4253 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Status::FromErrorString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::UpdateAutomaticSignalFiltering().
bool GDBRemoteCommunicationClient::SendSpeedTestPacket | ( | uint32_t | send_size, |
uint32_t | recv_size | ||
) |
Definition at line 2595 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by TestPacketSpeed().
int GDBRemoteCommunicationClient::SendStdinNotification | ( | const char * | data, |
size_t | data_len | ||
) |
Sends a GDB remote protocol 'I' packet that delivers stdin data to the remote process.
[in] | data | A pointer to stdin data. |
[in] | data_len | The number of bytes available at data. |
Definition at line 1416 of file GDBRemoteCommunicationClient.cpp.
References StringExtractorGDBRemote::GetError(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::PutSTDIN().
|
protected |
Definition at line 510 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::process_gdb_remote::GDBRemoteCommunication::ErrorNoSequenceLock, lldb_private::process_gdb_remote::GDBRemoteCommunication::ErrorSendFailed, lldb_private::GetLog(), GetThreadSuffixSupported(), LLDB_LOGF, lldb_private::process_gdb_remote::Packets, lldb_private::process_gdb_remote::Process, lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponseNoLock(), and SetCurrentThread().
Referenced by GetThreadPacketSupported(), ReadAllRegisters(), ReadRegister(), RestoreRegisterState(), SaveRegisterState(), WriteAllRegisters(), and WriteRegister().
llvm::Expected< std::vector< uint8_t > > GDBRemoteCommunicationClient::SendTraceGetBinaryData | ( | const TraceGetBinaryDataRequest & | request, |
std::chrono::seconds | interrupt_timeout | ||
) |
Definition at line 3762 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetData(), StringExtractorGDBRemote::GetEscapedBinaryData(), lldb_private::GetLog(), StringExtractorGDBRemote::GetStatus(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsErrorResponse(), LLDB_LOG, lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, lldb_private::Status::ToError(), and lldb_private::toJSON().
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::TraceGetBinaryData().
llvm::Expected< std::string > GDBRemoteCommunicationClient::SendTraceGetState | ( | llvm::StringRef | type, |
std::chrono::seconds | interrupt_timeout | ||
) |
Definition at line 3729 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetData(), lldb_private::GetLog(), StringExtractorGDBRemote::GetStatus(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_LOG, StringExtractor::Peek(), lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, lldb_private::Status::ToError(), and lldb_private::toJSON().
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::TraceGetState().
llvm::Error GDBRemoteCommunicationClient::SendTraceStart | ( | const llvm::json::Value & | request, |
std::chrono::seconds | interrupt_timeout | ||
) |
Definition at line 3695 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetData(), lldb_private::GetLog(), StringExtractorGDBRemote::GetStatus(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_LOG, lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::Status::ToError().
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::TraceStart().
llvm::Error GDBRemoteCommunicationClient::SendTraceStop | ( | const TraceStopRequest & | request, |
std::chrono::seconds | interrupt_timeout | ||
) |
Definition at line 3661 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetData(), lldb_private::GetLog(), StringExtractorGDBRemote::GetStatus(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_LOG, lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, lldb_private::Status::ToError(), and lldb_private::toJSON().
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::TraceStop().
llvm::Expected< TraceSupportedResponse > GDBRemoteCommunicationClient::SendTraceSupported | ( | std::chrono::seconds | interrupt_timeout | ) |
Definition at line 3636 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::GetLog(), StringExtractorGDBRemote::GetStatus(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsErrorResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_LOG, StringExtractor::Peek(), lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and lldb_private::Status::ToError().
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::TraceSupported().
void GDBRemoteCommunicationClient::ServeSymbolLookups | ( | lldb_private::Process * | process | ) |
Definition at line 4085 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::Clear(), lldb::eSymbolTypeAbsolute, lldb::eSymbolTypeAdditional, lldb::eSymbolTypeAny, lldb::eSymbolTypeBlock, lldb::eSymbolTypeCode, lldb::eSymbolTypeCommonBlock, lldb::eSymbolTypeCompiler, lldb::eSymbolTypeData, lldb::eSymbolTypeException, lldb::eSymbolTypeHeaderFile, lldb::eSymbolTypeInstrumentation, lldb::eSymbolTypeInvalid, lldb::eSymbolTypeLineEntry, lldb::eSymbolTypeLineHeader, lldb::eSymbolTypeLocal, lldb::eSymbolTypeObjCClass, lldb::eSymbolTypeObjCIVar, lldb::eSymbolTypeObjCMetaClass, lldb::eSymbolTypeObjectFile, lldb::eSymbolTypeParam, lldb::eSymbolTypeReExported, lldb::eSymbolTypeResolver, lldb::eSymbolTypeRuntime, lldb::eSymbolTypeScopeBegin, lldb::eSymbolTypeScopeEnd, lldb::eSymbolTypeSourceFile, lldb::eSymbolTypeTrampoline, lldb::eSymbolTypeUndefined, lldb::eSymbolTypeVariable, lldb::eSymbolTypeVariableType, lldb_private::ModuleList::FindSymbolsWithNameAndType(), StringExtractor::GetHexByteString(), lldb_private::Target::GetImages(), lldb_private::GetLog(), lldb_private::StreamString::GetString(), StringExtractor::GetStringRef(), lldb_private::Process::GetTarget(), StringExtractorGDBRemote::IsOKResponse(), StringExtractorGDBRemote::IsUnsupportedResponse(), LLDB_INVALID_ADDRESS, LLDB_LOGF, m_qSymbol_requests_done, m_supports_qSymbol, lldb_private::process_gdb_remote::Packets, lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::Process, lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponseNoLock(), StringExtractor::SetFilePos(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::ModulesDidLoad().
bool GDBRemoteCommunicationClient::SetCurrentThread | ( | uint64_t | tid, |
lldb::pid_t | pid = LLDB_INVALID_PROCESS_ID |
||
) |
Definition at line 2751 of file GDBRemoteCommunicationClient.cpp.
References LLDB_INVALID_PROCESS_ID, m_curr_pid, m_curr_tid, and SendSetCurrentThreadPacket().
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DidFork(), lldb_private::process_gdb_remote::ProcessGDBRemote::DidVFork(), and SendThreadSpecificPacketAndWaitForResponse().
bool GDBRemoteCommunicationClient::SetCurrentThreadForRun | ( | uint64_t | tid, |
lldb::pid_t | pid = LLDB_INVALID_PROCESS_ID |
||
) |
Definition at line 2766 of file GDBRemoteCommunicationClient.cpp.
References LLDB_INVALID_PROCESS_ID, m_curr_pid_run, m_curr_tid_run, and SendSetCurrentThreadPacket().
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DidFork(), lldb_private::process_gdb_remote::ProcessGDBRemote::DidVFork(), and lldb_private::process_gdb_remote::ProcessGDBRemote::DoResume().
int GDBRemoteCommunicationClient::SetDetachOnError | ( | bool | enable | ) |
Sets the DetachOnError flag to enable for the process controlled by the stub.
[in] | enable | A boolean value indicating whether to detach on error or not. |
Definition at line 1979 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoAttachToProcessWithID(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoAttachToProcessWithName(), and lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch().
int GDBRemoteCommunicationClient::SetDisableASLR | ( | bool | enable | ) |
Sets the disable ASLR flag to enable for a process that will be launched with the 'A' packet.
[in] | enable | A boolean value indicating whether to disable ASLR or not. |
Definition at line 1962 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UNUSED_IF_ASSERT_DISABLED.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch().
Status GDBRemoteCommunicationClient::SetFilePermissions | ( | const FileSpec & | file_spec, |
uint32_t | file_permissions | ||
) |
Definition at line 3035 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, lldb_private::Status::FromErrorStringWithFormat(), StringExtractor::GetChar(), lldb_private::StreamString::GetData(), StringExtractor::GetHexMaxU32(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutHex32(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT32_MAX.
int GDBRemoteCommunicationClient::SetSTDERR | ( | const FileSpec & | file_spec | ) |
Definition at line 1906 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch().
int GDBRemoteCommunicationClient::SetSTDIN | ( | const FileSpec & | file_spec | ) |
Sets the path to use for stdin/out/err for a process that will be launched with the 'A' packet.
[in] | file_spec | The path to use for stdin/out/err |
Definition at line 1866 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch().
int GDBRemoteCommunicationClient::SetSTDOUT | ( | const FileSpec & | file_spec | ) |
Definition at line 1886 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch().
int GDBRemoteCommunicationClient::SetWorkingDir | ( | const FileSpec & | working_dir | ) |
Sets the working directory to path for a process that will be launched with the 'A' packet for non platform based connections.
If this packet is sent to a GDB server that implements the platform, it will change the current working directory for the platform process.
[in] | working_dir | The path to a directory to use when launching our process |
Definition at line 1942 of file GDBRemoteCommunicationClient.cpp.
References error(), StringExtractorGDBRemote::GetError(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch().
std::optional< GDBRemoteFStatData > GDBRemoteCommunicationClient::Stat | ( | const FileSpec & | file_spec | ) |
Definition at line 3145 of file GDBRemoteCommunicationClient.cpp.
References CloseFile(), lldb_private::File::eOpenOptionReadOnly, error(), FStat(), OpenFile(), and UINT64_MAX.
Referenced by GetFilePermissions(), and GetFileSize().
|
inline |
Definition at line 334 of file GDBRemoteCommunicationClient.h.
References m_supports_alloc_dealloc_memory.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoAllocateMemory(), and lldb_private::process_gdb_remote::ProcessGDBRemote::DoDeallocateMemory().
|
inline |
Definition at line 266 of file GDBRemoteCommunicationClient.h.
References lldb_private::process_gdb_remote::eBreakpointHardware, lldb_private::process_gdb_remote::eBreakpointSoftware, lldb_private::process_gdb_remote::eWatchpointRead, lldb_private::process_gdb_remote::eWatchpointReadWrite, lldb_private::process_gdb_remote::eWatchpointWrite, m_supports_z0, m_supports_z1, m_supports_z2, m_supports_z3, and m_supports_z4.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DidFork(), lldb_private::process_gdb_remote::ProcessGDBRemote::DidForkSwitchHardwareTraps(), lldb_private::process_gdb_remote::ProcessGDBRemote::DidVFork(), lldb_private::process_gdb_remote::ProcessGDBRemote::DidVForkDone(), lldb_private::process_gdb_remote::ProcessGDBRemote::EnableBreakpointSite(), lldb_private::process_gdb_remote::ProcessGDBRemote::EnableWatchpoint(), and SendGDBStoppointTypePacket().
bool GDBRemoteCommunicationClient::SyncThreadState | ( | lldb::tid_t | tid | ) |
Definition at line 3623 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::StreamString::GetString(), GetSyncThreadStateSupported(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::ReadAllRegisterValues().
void GDBRemoteCommunicationClient::TestPacketSpeed | ( | const uint32_t | num_packets, |
uint32_t | max_send, | ||
uint32_t | max_recv, | ||
uint64_t | recv_amount, | ||
bool | json, | ||
Stream & | strm | ||
) |
Definition at line 2468 of file GDBRemoteCommunicationClient.cpp.
References calculate_standard_deviation(), lldb_private::Stream::EOL(), lldb_private::Stream::Flush(), lldb_private::Stream::Format(), lldb_private::StreamString::GetString(), MakeSpeedTestPacket(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and SendSpeedTestPacket().
Referenced by CommandObjectProcessGDBRemoteSpeedTest::DoExecute().
Definition at line 3362 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, error(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), gdb_errno_to_system(), StringExtractor::GetChar(), StringExtractor::GetHexMaxU32(), lldb_private::FileSpec::GetPath(), StringExtractor::GetS32(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::Success, and UINT32_MAX.
bool GDBRemoteCommunicationClient::UsesNativeSignals | ( | ) |
Definition at line 4328 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolYes, GetRemoteQSupported(), GetThreadSuffixSupported(), and m_uses_native_signals.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DidLaunchOrAttach().
bool GDBRemoteCommunicationClient::WriteAllRegisters | ( | lldb::tid_t | tid, |
llvm::ArrayRef< uint8_t > | data | ||
) |
Definition at line 3562 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::endian::InlHostByteOrder(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutChar(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteAllRegisterValues(), and lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteRegisterBytes().
uint64_t GDBRemoteCommunicationClient::WriteFile | ( | lldb::user_id_t | fd, |
uint64_t | offset, | ||
const void * | src, | ||
uint64_t | src_len, | ||
Status & | error | ||
) |
Definition at line 3296 of file GDBRemoteCommunicationClient.cpp.
References lldb::eErrorTypePOSIX, error(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), gdb_errno_to_system(), StringExtractor::GetChar(), StringExtractor::GetS32(), StringExtractor::GetS64(), lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Status GDBRemoteCommunicationClient::WriteMemoryTags | ( | lldb::addr_t | addr, |
size_t | len, | ||
int32_t | type, | ||
const std::vector< uint8_t > & | tags | ||
) |
Definition at line 700 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::Status::FromErrorString(), lldb_private::StreamString::GetString(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::Printf(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DoWriteMemoryTags().
bool GDBRemoteCommunicationClient::WriteRegister | ( | lldb::tid_t | tid, |
uint32_t | reg_num, | ||
llvm::ArrayRef< uint8_t > | data | ||
) |
Definition at line 3548 of file GDBRemoteCommunicationClient.cpp.
References lldb_private::endian::InlHostByteOrder(), StringExtractorGDBRemote::IsOKResponse(), lldb_private::Stream::Printf(), lldb_private::Stream::PutBytesAsRawHex8(), SendThreadSpecificPacketAndWaitForResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::Success.
Referenced by lldb_private::process_gdb_remote::GDBRemoteRegisterContext::SetPrimordialRegister(), and lldb_private::process_gdb_remote::GDBRemoteRegisterContext::WriteAllRegisterValues().
|
protected |
Definition at line 541 of file GDBRemoteCommunicationClient.h.
Referenced by GetVAttachOrWaitSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 545 of file GDBRemoteCommunicationClient.h.
Referenced by AvoidGPackets(), and ResetDiscoverableSettings().
|
protected |
Definition at line 597 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessInfo(), and GetProcessStandaloneBinaries().
|
protected |
Current gdb remote protocol process identifier for all other operations.
Definition at line 577 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessID(), GetCurrentProcessInfo(), GetDefaultThreadId(), and SetCurrentThread().
|
protected |
Definition at line 533 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessID(), GetCurrentProcessInfo(), GetDefaultThreadId(), and ResetDiscoverableSettings().
|
protected |
Current gdb remote protocol process identifier for continue, step, etc.
Definition at line 579 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessID(), GetCurrentProcessInfo(), GetDefaultThreadId(), and SetCurrentThreadForRun().
|
protected |
Current gdb remote protocol thread identifier for all other operations.
Definition at line 581 of file GDBRemoteCommunicationClient.h.
Referenced by OnRunPacketSent(), and SetCurrentThread().
|
protected |
Current gdb remote protocol thread identifier for continue, step, etc.
Definition at line 583 of file GDBRemoteCommunicationClient.h.
Referenced by SetCurrentThreadForRun().
|
protected |
Definition at line 608 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostDefaultPacketTimeout(), GetHostInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 603 of file GDBRemoteCommunicationClient.h.
Referenced by GetGDBServerProgramName(), GetGDBServerVersion(), and ResetDiscoverableSettings().
|
protected |
Definition at line 605 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessInfo(), GetGDBServerProgramVersion(), GetGDBServerVersion(), and ResetDiscoverableSettings().
|
protected |
Definition at line 589 of file GDBRemoteCommunicationClient.h.
Referenced by GetAddressableBits(), and GetHostInfo().
|
protected |
Definition at line 591 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostArchitecture(), GetHostInfo(), GetSystemArchitecture(), and ResetDiscoverableSettings().
|
protected |
Definition at line 592 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 602 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostInfo(), GetHostname(), and ResetDiscoverableSettings().
|
protected |
Definition at line 588 of file GDBRemoteCommunicationClient.h.
Referenced by GetAddressableBits(), and GetHostInfo().
|
protected |
Definition at line 599 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostInfo(), and GetMacCatalystVersion().
|
protected |
Definition at line 610 of file GDBRemoteCommunicationClient.h.
Referenced by GetRemoteMaxPacketSize(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 585 of file GDBRemoteCommunicationClient.h.
Referenced by GetWatchpointSlotCount().
|
protected |
Definition at line 600 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostInfo(), GetOSBuildString(), and ResetDiscoverableSettings().
|
protected |
Definition at line 601 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostInfo(), GetOSKernelDescription(), and ResetDiscoverableSettings().
|
protected |
Definition at line 598 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostInfo(), GetOSVersion(), and ResetDiscoverableSettings().
|
protected |
Definition at line 542 of file GDBRemoteCommunicationClient.h.
Referenced by GetSyncThreadStateSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 593 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessInfo(), GetProcessArchitecture(), and ResetDiscoverableSettings().
|
protected |
Definition at line 594 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessInfo(), and GetProcessStandaloneBinary().
|
protected |
Definition at line 595 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessInfo(), and GetProcessStandaloneBinary().
|
protected |
Definition at line 596 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessInfo(), and GetProcessStandaloneBinary().
|
protected |
Definition at line 535 of file GDBRemoteCommunicationClient.h.
Referenced by GetGDBServerVersion(), and ResetDiscoverableSettings().
|
protected |
Definition at line 532 of file GDBRemoteCommunicationClient.h.
Referenced by GetAddressableBits(), GetHostArchitecture(), GetHostDefaultPacketTimeout(), GetHostInfo(), GetWatchpointReportedAfter(), and ResetDiscoverableSettings().
|
protected |
Definition at line 534 of file GDBRemoteCommunicationClient.h.
Referenced by GetCurrentProcessInfo(), GetProcessArchitecture(), GetProcessStandaloneBinaries(), GetProcessStandaloneBinary(), and ResetDiscoverableSettings().
|
protected |
Definition at line 611 of file GDBRemoteCommunicationClient.h.
Referenced by GetRemoteQSupported(), GetServerSupportedFeatures(), and ResetDiscoverableSettings().
|
protected |
Definition at line 570 of file GDBRemoteCommunicationClient.h.
Referenced by ResetDiscoverableSettings(), and ServeSymbolLookups().
|
protected |
Definition at line 616 of file GDBRemoteCommunicationClient.h.
Referenced by GetQXferMemoryMapRegionInfo(), and LoadQXferMemoryMap().
|
protected |
Definition at line 617 of file GDBRemoteCommunicationClient.h.
Referenced by LoadQXferMemoryMap().
|
protected |
Definition at line 613 of file GDBRemoteCommunicationClient.h.
Referenced by GetSupportedStructuredDataPlugins(), and ResetDiscoverableSettings().
|
protected |
Definition at line 614 of file GDBRemoteCommunicationClient.h.
Referenced by GetSupportedStructuredDataPlugins(), and ResetDiscoverableSettings().
|
protected |
Definition at line 536 of file GDBRemoteCommunicationClient.h.
Referenced by AllocateMemory(), DeallocateMemory(), ResetDiscoverableSettings(), and SupportsAllocDeallocMemory().
|
protected |
Definition at line 553 of file GDBRemoteCommunicationClient.h.
Referenced by GetAugmentedLibrariesSVR4ReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 539 of file GDBRemoteCommunicationClient.h.
Referenced by Detach().
|
protected |
Definition at line 559 of file GDBRemoteCommunicationClient.h.
Referenced by EnableErrorStringInPacket().
|
protected |
Definition at line 557 of file GDBRemoteCommunicationClient.h.
Referenced by GetDynamicLoaderProcessStateSupported().
|
protected |
Definition at line 556 of file GDBRemoteCommunicationClient.h.
Referenced by GetSharedCacheInfoSupported().
|
protected |
Definition at line 555 of file GDBRemoteCommunicationClient.h.
Referenced by GetLoadedDynamicLibrariesInfosSupported().
|
protected |
Definition at line 572 of file GDBRemoteCommunicationClient.h.
Referenced by GetModulesInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 554 of file GDBRemoteCommunicationClient.h.
Referenced by GetThreadExtendedInfoSupported().
|
protected |
Definition at line 571 of file GDBRemoteCommunicationClient.h.
Referenced by GetThreadsInfo().
|
protected |
Definition at line 537 of file GDBRemoteCommunicationClient.h.
Referenced by GetMemoryRegionInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 561 of file GDBRemoteCommunicationClient.h.
Referenced by GetMemoryTaggingSupported(), GetMultiprocessSupported(), and GetRemoteQSupported().
|
protected |
Definition at line 560 of file GDBRemoteCommunicationClient.h.
Referenced by GetMultiprocessSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 523 of file GDBRemoteCommunicationClient.h.
Referenced by QueryNoAckModeSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 543 of file GDBRemoteCommunicationClient.h.
Referenced by GetpPacketSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 569 of file GDBRemoteCommunicationClient.h.
Referenced by ResetDiscoverableSettings(), and SendEnvironmentPacket().
|
protected |
Definition at line 569 of file GDBRemoteCommunicationClient.h.
Referenced by ResetDiscoverableSettings(), and SendEnvironmentPacket().
|
protected |
Definition at line 565 of file GDBRemoteCommunicationClient.h.
Referenced by FindProcesses(), and ResetDiscoverableSettings().
|
protected |
Definition at line 566 of file GDBRemoteCommunicationClient.h.
Referenced by GetGroupName(), and ResetDiscoverableSettings().
|
protected |
Definition at line 571 of file GDBRemoteCommunicationClient.h.
Referenced by GetModuleInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 558 of file GDBRemoteCommunicationClient.h.
Referenced by GetQPassSignalsSupported(), and GetRemoteQSupported().
|
protected |
Definition at line 565 of file GDBRemoteCommunicationClient.h.
Referenced by GetProcessInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 562 of file GDBRemoteCommunicationClient.h.
Referenced by GetRemoteQSupported(), GetSaveCoreSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 546 of file GDBRemoteCommunicationClient.h.
Referenced by ResetDiscoverableSettings(), RestoreRegisterState(), and SaveRegisterState().
|
protected |
Definition at line 570 of file GDBRemoteCommunicationClient.h.
Referenced by ResetDiscoverableSettings(), and ServeSymbolLookups().
|
protected |
Definition at line 567 of file GDBRemoteCommunicationClient.h.
Referenced by GetThreadStopInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 566 of file GDBRemoteCommunicationClient.h.
Referenced by GetUserName(), and ResetDiscoverableSettings().
|
protected |
Definition at line 547 of file GDBRemoteCommunicationClient.h.
Referenced by GetQXferAuxvReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 550 of file GDBRemoteCommunicationClient.h.
Referenced by GetQXferFeaturesReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 548 of file GDBRemoteCommunicationClient.h.
Referenced by GetQXferLibrariesReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 549 of file GDBRemoteCommunicationClient.h.
Referenced by GetQXferLibrariesSVR4ReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 551 of file GDBRemoteCommunicationClient.h.
Referenced by GetQXferMemoryMapReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 552 of file GDBRemoteCommunicationClient.h.
Referenced by GetQXferSigInfoReadSupported(), GetRemoteQSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 524 of file GDBRemoteCommunicationClient.h.
Referenced by GetThreadSuffixSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 525 of file GDBRemoteCommunicationClient.h.
Referenced by GetListThreadsInStopReplySupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 526 of file GDBRemoteCommunicationClient.h.
Referenced by GetVContSupported().
|
protected |
Definition at line 527 of file GDBRemoteCommunicationClient.h.
Referenced by GetVContSupported().
|
protected |
Definition at line 528 of file GDBRemoteCommunicationClient.h.
Referenced by GetVContSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 529 of file GDBRemoteCommunicationClient.h.
Referenced by GetVContSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 530 of file GDBRemoteCommunicationClient.h.
Referenced by GetVContSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 531 of file GDBRemoteCommunicationClient.h.
Referenced by GetVContSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 573 of file GDBRemoteCommunicationClient.h.
Referenced by GetFileExists().
|
protected |
Definition at line 573 of file GDBRemoteCommunicationClient.h.
Referenced by GetFilePermissions().
|
protected |
Definition at line 572 of file GDBRemoteCommunicationClient.h.
Referenced by GetFileSize().
|
protected |
Definition at line 574 of file GDBRemoteCommunicationClient.h.
Referenced by LaunchProcess().
|
protected |
Definition at line 538 of file GDBRemoteCommunicationClient.h.
Referenced by GetWatchpointSlotCount().
|
protected |
Definition at line 544 of file GDBRemoteCommunicationClient.h.
Referenced by GetxPacketSupported(), and ResetDiscoverableSettings().
|
protected |
Definition at line 567 of file GDBRemoteCommunicationClient.h.
Referenced by ResetDiscoverableSettings(), SendGDBStoppointTypePacket(), and SupportsGDBStoppointPacket().
|
protected |
Definition at line 567 of file GDBRemoteCommunicationClient.h.
Referenced by ResetDiscoverableSettings(), SendGDBStoppointTypePacket(), and SupportsGDBStoppointPacket().
|
protected |
Definition at line 568 of file GDBRemoteCommunicationClient.h.
Referenced by ResetDiscoverableSettings(), SendGDBStoppointTypePacket(), and SupportsGDBStoppointPacket().
|
protected |
Definition at line 568 of file GDBRemoteCommunicationClient.h.
Referenced by ResetDiscoverableSettings(), SendGDBStoppointTypePacket(), and SupportsGDBStoppointPacket().
|
protected |
Definition at line 568 of file GDBRemoteCommunicationClient.h.
Referenced by ResetDiscoverableSettings(), SendGDBStoppointTypePacket(), and SupportsGDBStoppointPacket().
|
protected |
Definition at line 609 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostInfo(), GetMemoryRegionInfo(), and ResetDiscoverableSettings().
|
protected |
Definition at line 563 of file GDBRemoteCommunicationClient.h.
Referenced by GetRemoteQSupported(), ResetDiscoverableSettings(), and UsesNativeSignals().
|
protected |
Definition at line 586 of file GDBRemoteCommunicationClient.h.
Referenced by GetRemoteQSupported(), and GetSupportedWatchpointTypes().
|
protected |
Definition at line 540 of file GDBRemoteCommunicationClient.h.
Referenced by GetHostInfo(), and GetWatchpointReportedAfter().