LLDB mainline
|
#include <GDBRemoteCommunicationServerCommon.h>
Public Member Functions | |
GDBRemoteCommunicationServerCommon () | |
~GDBRemoteCommunicationServerCommon () override | |
Public Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteCommunicationServer | |
GDBRemoteCommunicationServer () | |
~GDBRemoteCommunicationServer () override | |
void | RegisterPacketHandler (StringExtractorGDBRemote::ServerPacketType packet_type, PacketHandler handler) |
PacketResult | GetPacketAndSendResponse (Timeout< std::micro > timeout, Status &error, bool &interrupt, bool &quit) |
Public Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication | |
GDBRemoteCommunication () | |
~GDBRemoteCommunication () override | |
PacketResult | GetAck () |
size_t | SendAck () |
size_t | SendNack () |
char | CalculcateChecksum (llvm::StringRef payload) |
PacketType | CheckForPacket (const uint8_t *src, size_t src_len, StringExtractorGDBRemote &packet) |
bool | GetSendAcks () |
std::chrono::seconds | SetPacketTimeout (std::chrono::seconds packet_timeout) |
std::chrono::seconds | GetPacketTimeout () const |
void | DumpHistory (Stream &strm) |
Public Member Functions inherited from lldb_private::Communication | |
Communication () | |
Construct the Communication object. | |
virtual | ~Communication () |
Destructor. | |
virtual void | Clear () |
lldb::ConnectionStatus | Connect (const char *url, Status *error_ptr) |
Connect using the current connection by passing url to its connect function. | |
virtual lldb::ConnectionStatus | Disconnect (Status *error_ptr=nullptr) |
Disconnect the communications connection if one is currently connected. | |
bool | IsConnected () const |
Check if the connection is valid. | |
bool | HasConnection () const |
lldb_private::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) |
Static Protected Member Functions | |
static void | CreateProcessInfoResponse (const ProcessInstanceInfo &proc_info, StreamString &response) |
static void | CreateProcessInfoResponse_DebugServerStyle (const ProcessInstanceInfo &proc_info, StreamString &response) |
Private Member Functions | |
ModuleSpec | GetModuleInfo (llvm::StringRef module_path, llvm::StringRef triple) |
Additional Inherited Members | |
Public Types inherited from lldb_private::process_gdb_remote::GDBRemoteCommunicationServer | |
using | PacketHandler |
Public Types inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication | |
enum class | PacketType { Invalid = 0 , Standard , Notify } |
enum class | PacketResult { Success = 0 , ErrorSendFailed , ErrorSendAck , ErrorReplyFailed , ErrorReplyTimeout , ErrorReplyInvalid , ErrorReplyAck , ErrorDisconnected , ErrorNoSequenceLock } |
Static Public Member Functions inherited from lldb_private::process_gdb_remote::GDBRemoteCommunication | |
static Status | StartDebugserverProcess (std::variant< llvm::StringRef, shared_fd_t > comm, ProcessLaunchInfo &launch_info, const Args *inferior_args) |
static std::optional< std::string > | ExpandRLE (std::string) |
Expand GDB run-length encoding. | |
Static Public Member Functions inherited from lldb_private::Communication | |
static std::string | ConnectionStatusAsString (lldb::ConnectionStatus status) |
Definition at line 26 of file GDBRemoteCommunicationServerCommon.h.
GDBRemoteCommunicationServerCommon::GDBRemoteCommunicationServerCommon | ( | ) |
Definition at line 61 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractorGDBRemote::eServerPacketType_A, StringExtractorGDBRemote::eServerPacketType_jModulesInfo, StringExtractorGDBRemote::eServerPacketType_qEcho, StringExtractorGDBRemote::eServerPacketType_QEnvironment, StringExtractorGDBRemote::eServerPacketType_QEnvironmentHexEncoded, StringExtractorGDBRemote::eServerPacketType_qfProcessInfo, StringExtractorGDBRemote::eServerPacketType_qGroupName, StringExtractorGDBRemote::eServerPacketType_qHostInfo, StringExtractorGDBRemote::eServerPacketType_QLaunchArch, StringExtractorGDBRemote::eServerPacketType_qLaunchSuccess, StringExtractorGDBRemote::eServerPacketType_qModuleInfo, StringExtractorGDBRemote::eServerPacketType_qPlatform_chmod, StringExtractorGDBRemote::eServerPacketType_qPlatform_mkdir, StringExtractorGDBRemote::eServerPacketType_qPlatform_shell, StringExtractorGDBRemote::eServerPacketType_qProcessInfoPID, StringExtractorGDBRemote::eServerPacketType_QSetDetachOnError, StringExtractorGDBRemote::eServerPacketType_QSetSTDERR, StringExtractorGDBRemote::eServerPacketType_QSetSTDIN, StringExtractorGDBRemote::eServerPacketType_QSetSTDOUT, StringExtractorGDBRemote::eServerPacketType_qSpeedTest, StringExtractorGDBRemote::eServerPacketType_qsProcessInfo, StringExtractorGDBRemote::eServerPacketType_QStartNoAckMode, StringExtractorGDBRemote::eServerPacketType_qSupported, StringExtractorGDBRemote::eServerPacketType_qUserName, StringExtractorGDBRemote::eServerPacketType_vFile_close, StringExtractorGDBRemote::eServerPacketType_vFile_exists, StringExtractorGDBRemote::eServerPacketType_vFile_fstat, StringExtractorGDBRemote::eServerPacketType_vFile_md5, StringExtractorGDBRemote::eServerPacketType_vFile_mode, StringExtractorGDBRemote::eServerPacketType_vFile_open, StringExtractorGDBRemote::eServerPacketType_vFile_pread, StringExtractorGDBRemote::eServerPacketType_vFile_pwrite, StringExtractorGDBRemote::eServerPacketType_vFile_size, StringExtractorGDBRemote::eServerPacketType_vFile_stat, StringExtractorGDBRemote::eServerPacketType_vFile_symlink, StringExtractorGDBRemote::eServerPacketType_vFile_unlink, lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::GDBRemoteCommunicationServer(), Handle_A(), Handle_jModulesInfo(), Handle_qEcho(), Handle_QEnvironment(), Handle_QEnvironmentHexEncoded(), Handle_qfProcessInfo(), Handle_qGroupName(), Handle_qHostInfo(), Handle_QLaunchArch(), Handle_qLaunchSuccess(), Handle_qModuleInfo(), Handle_qPlatform_chmod(), Handle_qPlatform_mkdir(), Handle_qPlatform_shell(), Handle_qProcessInfoPID(), Handle_QSetDetachOnError(), Handle_QSetSTDERR(), Handle_QSetSTDIN(), Handle_QSetSTDOUT(), Handle_qSpeedTest(), Handle_qsProcessInfo(), Handle_QStartNoAckMode(), Handle_qSupported(), Handle_qUserName(), Handle_vFile_Close(), Handle_vFile_Exists(), Handle_vFile_FStat(), Handle_vFile_MD5(), Handle_vFile_Mode(), Handle_vFile_Open(), Handle_vFile_pRead(), Handle_vFile_pWrite(), Handle_vFile_Size(), Handle_vFile_Stat(), Handle_vFile_symlink(), Handle_vFile_unlink(), m_proc_infos, m_proc_infos_index, m_process_launch_error, m_process_launch_info, and RegisterMemberFunctionHandler().
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::GDBRemoteCommunicationServerLLGS().
|
overridedefault |
|
staticprotected |
Definition at line 1210 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::ProcessInfo::GetArchitecture(), lldb_private::ProcessInfo::GetArg0(), lldb_private::ProcessInfo::GetArguments(), lldb_private::ProcessInstanceInfo::GetEffectiveGroupID(), lldb_private::ProcessInstanceInfo::GetEffectiveUserID(), lldb_private::ProcessInfo::GetExecutableFile(), lldb_private::ProcessInfo::GetGroupID(), lldb_private::ProcessInstanceInfo::GetParentProcessID(), lldb_private::FileSpec::GetPath(), lldb_private::ProcessInfo::GetProcessID(), lldb_private::ArchSpec::GetTriple(), lldb_private::ProcessInfo::GetUserID(), lldb_private::ArchSpec::IsValid(), lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), and lldb_private::Stream::PutStringAsRawHex8().
Referenced by Handle_qProcessInfoPID(), and Handle_qsProcessInfo().
|
staticprotected |
Definition at line 1238 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb::eByteOrderBig, lldb::eByteOrderLittle, lldb::eByteOrderPDP, lldb_private::ArchSpec::GetAddressByteSize(), lldb_private::ProcessInfo::GetArchitecture(), lldb_private::ArchSpec::GetByteOrder(), lldb_private::ProcessInstanceInfo::GetEffectiveGroupID(), lldb_private::ProcessInstanceInfo::GetEffectiveUserID(), lldb_private::ProcessInfo::GetGroupID(), lldb_private::ArchSpec::GetMachOCPUSubType(), lldb_private::ArchSpec::GetMachOCPUType(), lldb_private::ProcessInstanceInfo::GetParentProcessID(), lldb_private::ProcessInfo::GetProcessID(), lldb_private::ArchSpec::GetTargetABI(), lldb_private::ArchSpec::GetTriple(), lldb_private::ProcessInfo::GetUserID(), lldb_private::ArchSpec::IsValid(), lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), and lldb_private::Stream::PutStringAsRawHex8().
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qProcessInfo(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::Handle_qProcessInfo().
|
protectedvirtual |
Reimplemented in lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS.
Definition at line 1310 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::FileSystem::Instance(), lldb_private::FileSystem::Resolve(), and lldb_private::HostInfoAndroid::ResolveLibraryPath().
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::FindModuleFile(), and GetModuleInfo().
|
private |
Definition at line 1322 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::ZipFileResolver::eFileKindInvalid, lldb_private::ZipFileResolver::eFileKindZip, lldb_private::ModuleSpecList::FindMatchingModuleSpec(), FindModuleFile(), lldb_private::ModuleSpec::GetFileSpecPtr(), lldb_private::ObjectFile::GetModuleSpecifications(), lldb_private::FileSpec::GetPath(), lldb_private::FileSystem::Instance(), lldbassert, lldb_private::FileSystem::Resolve(), and lldb_private::ZipFileResolver::ResolveSharedLibraryPath().
Referenced by Handle_jModulesInfo(), and Handle_qModuleInfo().
|
protected |
Definition at line 1018 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetBytesLeft(), StringExtractor::GetChar(), StringExtractor::GetHexByteStringFixedLength(), lldb_private::GetLog(), StringExtractor::GetU32(), LaunchProcess(), LLDB_LOG, LLDB_LOGF, m_process_launch_error, m_process_launch_info, lldb_private::Process, lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendOKResponse(), StringExtractor::SetFilePos(), and UINT32_MAX.
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 1156 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::Stream::AsRawOstream(), lldb_private::ModuleSpec::GetArchitecture(), lldb_private::StructuredData::Object::GetAsArray(), lldb_private::UUID::GetAsString(), lldb_private::ModuleSpec::GetFileSpec(), lldb_private::StructuredData::Array::GetItemAtIndex(), GetModuleInfo(), lldb_private::ModuleSpec::GetObjectOffset(), lldb_private::ModuleSpec::GetObjectSize(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetSize(), lldb_private::StructuredData::Array::GetSize(), lldb_private::StreamString::GetString(), lldb_private::ArchSpec::GetTriple(), lldb_private::ModuleSpec::GetUUID(), lldb_private::StructuredData::Dictionary::GetValueForKeyAsString(), lldb_private::StructuredData::ParseJSON(), StringExtractor::Peek(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 1091 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetStringRef(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 978 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetBytesLeft(), m_process_launch_info, StringExtractor::Peek(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendOKResponse(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 990 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetBytesLeft(), StringExtractor::GetHexByteString(), m_process_launch_info, lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendOKResponse(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 334 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::Contains, lldb_private::EndsWith, lldb_private::Equals, lldb_private::Host::FindProcesses(), lldb_private::ProcessInfo::GetArchitecture(), StringExtractor::GetChar(), lldb_private::ProcessInfo::GetExecutableFile(), StringExtractor::GetHexByteString(), StringExtractor::GetNameColonValue(), lldb_private::ProcessInstanceInfoMatch::GetProcessInfo(), Handle_qsProcessInfo(), lldb_private::Ignore, LLDB_INVALID_PROCESS_ID, m_proc_infos, m_proc_infos_index, lldb_private::RegularExpression, lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::ProcessInstanceInfo::SetEffectiveGroupID(), lldb_private::ProcessInstanceInfo::SetEffectiveUserID(), lldb_private::FileSpec::SetFile(), StringExtractor::SetFilePos(), lldb_private::ProcessInfo::SetGroupID(), lldb_private::ProcessInstanceInfoMatch::SetMatchAllUsers(), lldb_private::ProcessInstanceInfoMatch::SetNameMatchType(), lldb_private::ProcessInstanceInfo::SetParentProcessID(), lldb_private::ProcessInfo::SetProcessID(), lldb_private::ProcessInfo::SetUserID(), lldb_private::StartsWith, lldb_private::OptionArgParser::ToBoolean(), and UINT32_MAX.
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 452 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::StreamString::GetString(), StringExtractor::GetU32(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), and UINT32_MAX.
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 178 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb::eByteOrderBig, lldb::eByteOrderLittle, lldb::eByteOrderPDP, lldb_private::Stream::Format(), g_default_packet_timeout_sec, lldb_private::ArchSpec::GetAddressByteSize(), lldb_private::ArchSpec::GetMachine(), lldb_private::ArchSpec::GetMachOCPUSubType(), lldb_private::ArchSpec::GetMachOCPUType(), lldb_private::StreamString::GetString(), lldb_private::ArchSpec::GetTriple(), lldb_private::endian::InlHostByteOrder(), lldb_private::ArchSpec::IsMIPS(), LLDB_INVALID_CPUTYPE, lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutStringAsRawHex8(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 1004 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetBytesLeft(), m_process_launch_info, StringExtractor::Peek(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendOKResponse(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 967 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::StreamString::GetString(), m_process_launch_error, lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendOKResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 1098 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::ModuleSpec::GetArchitecture(), lldb_private::UUID::GetAsString(), StringExtractor::GetChar(), lldb_private::ModuleSpec::GetFileSpec(), StringExtractor::GetHexByteString(), StringExtractor::GetHexByteStringTerminatedBy(), GetModuleInfo(), lldb_private::ModuleSpec::GetObjectOffset(), lldb_private::ModuleSpec::GetObjectSize(), lldb_private::FileSpec::GetPath(), lldb_private::StreamString::GetString(), lldb_private::ModuleSpec::GetUUID(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutHex64(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 870 of file GDBRemoteCommunicationServerCommon.cpp.
References error(), StringExtractor::GetChar(), StringExtractor::GetHexByteString(), StringExtractor::GetHexMaxU32(), lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), and UINT32_MAX.
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 852 of file GDBRemoteCommunicationServerCommon.cpp.
References error(), StringExtractor::GetChar(), StringExtractor::GetHexByteString(), StringExtractor::GetHexMaxU32(), lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), and UINT32_MAX.
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 737 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::Status::Fail(), StringExtractor::GetChar(), StringExtractor::GetHexByteString(), StringExtractor::GetHexByteStringTerminatedBy(), lldb_private::StreamString::GetString(), lldb_private::FileSystem::Instance(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::Stream::PutHex32(), lldb_private::FileSystem::Resolve(), lldb_private::Host::RunShellCommand(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), and UINT32_MAX.
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 317 of file GDBRemoteCommunicationServerCommon.cpp.
References CreateProcessInfoResponse(), lldb_private::Host::GetProcessInfo(), lldb_private::StreamString::GetString(), StringExtractor::GetU32(), LLDB_INVALID_PROCESS_ID, lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 899 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetU32(), m_process_launch_info, lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendOKResponse(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 951 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetHexByteString(), m_process_launch_info, lldb_private::FileAction::Open(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendOKResponse(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 919 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetHexByteString(), m_process_launch_info, lldb_private::FileAction::Open(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendOKResponse(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 935 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetHexByteString(), m_process_launch_info, lldb_private::FileAction::Open(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendOKResponse(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 471 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetNameColonValue(), lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendOKResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 417 of file GDBRemoteCommunicationServerCommon.cpp.
References CreateProcessInfoResponse(), lldb_private::StreamString::GetString(), m_proc_infos, m_proc_infos_index, lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock().
Referenced by GDBRemoteCommunicationServerCommon(), and Handle_qfProcessInfo().
|
protected |
Definition at line 910 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::process_gdb_remote::GDBRemoteCommunication::m_send_acks, and lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendOKResponse().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 890 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetStringRef(), HandleFeatures(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 429 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::GetLog(), lldb_private::StreamString::GetString(), StringExtractor::GetU32(), LLDB_LOGF, lldb_private::Process, lldb_private::Stream::PutStringAsRawHex8(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), and UINT32_MAX.
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 550 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::NativeFile::Close(), error(), StringExtractor::GetS32(), lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), and system_errno_to_gdb().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 686 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetHexByteString(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutChar(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 784 of file GDBRemoteCommunicationServerCommon.cpp.
References fill_clamp(), lldb_private::process_gdb_remote::GDBRemoteFStatData::gdb_st_atime, lldb_private::process_gdb_remote::GDBRemoteFStatData::gdb_st_blksize, lldb_private::process_gdb_remote::GDBRemoteFStatData::gdb_st_blocks, lldb_private::process_gdb_remote::GDBRemoteFStatData::gdb_st_ctime, lldb_private::process_gdb_remote::GDBRemoteFStatData::gdb_st_dev, lldb_private::process_gdb_remote::GDBRemoteFStatData::gdb_st_gid, lldb_private::process_gdb_remote::GDBRemoteFStatData::gdb_st_ino, lldb_private::process_gdb_remote::GDBRemoteFStatData::gdb_st_mode, lldb_private::process_gdb_remote::GDBRemoteFStatData::gdb_st_mtime, lldb_private::process_gdb_remote::GDBRemoteFStatData::gdb_st_nlink, lldb_private::process_gdb_remote::GDBRemoteFStatData::gdb_st_rdev, lldb_private::process_gdb_remote::GDBRemoteFStatData::gdb_st_size, lldb_private::process_gdb_remote::GDBRemoteFStatData::gdb_st_uid, StringExtractor::GetS32(), lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), system_errno_to_gdb(), and UINT32_MAX.
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 830 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetHexByteString(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutCString(), lldb_private::Stream::PutHex64(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 665 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetHexByteString(), lldb_private::FileSystem::GetPermissions(), lldb_private::StreamString::GetString(), lldb_private::FileSystem::Instance(), lldb_private::Stream::Printf(), lldb_private::FileSystem::Resolve(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), and lldb_private::Status.
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 514 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetChar(), StringExtractor::GetHexByteStringTerminatedBy(), StringExtractor::GetHexMaxU32(), lldb_private::StreamString::GetString(), lldb_private::FileSystem::Instance(), lldb_private::File::kInvalidDescriptor, lldb_private::FileSystem::Open(), lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::FileSystem::Resolve(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), and system_errno_to_gdb().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 573 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::File::eOpenOptionReadOnly, error(), StringExtractor::GetChar(), StringExtractor::GetHexMaxU32(), StringExtractor::GetHexMaxU64(), StringExtractor::GetS32(), lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::NativeFile::Read(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), system_errno_to_gdb(), and UINT32_MAX.
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 608 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::File::eOpenOptionWriteOnly, error(), StringExtractor::GetChar(), StringExtractorGDBRemote::GetEscapedBinaryData(), StringExtractor::GetHexMaxU32(), StringExtractor::GetS32(), lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), system_errno_to_gdb(), UINT32_MAX, and lldb_private::NativeFile::Write().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 643 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetHexByteString(), lldb_private::StreamString::GetString(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutHex64(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendErrorResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), and UINT64_MAX.
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 823 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendUnimplementedResponse().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 706 of file GDBRemoteCommunicationServerCommon.cpp.
References error(), StringExtractor::GetChar(), StringExtractor::GetHexByteString(), StringExtractor::GetHexByteStringTerminatedBy(), lldb_private::StreamString::GetString(), lldb_private::FileSystem::Instance(), lldb_private::Stream::Printf(), lldb_private::FileSystem::Resolve(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), and lldb_private::FileSystem::Symlink().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 724 of file GDBRemoteCommunicationServerCommon.cpp.
References error(), StringExtractor::GetHexByteString(), lldb_private::StreamString::GetString(), lldb_private::Stream::Printf(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), StringExtractor::SetFilePos(), and system_errno_to_gdb().
Referenced by GDBRemoteCommunicationServerCommon().
|
protectedvirtual |
Reimplemented in lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS.
Definition at line 1378 of file GDBRemoteCommunicationServerCommon.cpp.
Referenced by Handle_qSupported(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::HandleFeatures().
|
protectedpure virtual |
Launch a process with the current launch settings.
This method supports running an lldb-gdbserver or similar server in a situation where the startup code has been provided with all the information for a child process to be launched.
Implemented in lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS, and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform.
Referenced by Handle_A().
|
inlineprotected |
Definition at line 117 of file GDBRemoteCommunicationServerCommon.h.
References error(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::RegisterPacketHandler().
Referenced by GDBRemoteCommunicationServerCommon(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::GDBRemoteCommunicationServerPlatform(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::RegisterPacketHandlers().
|
protected |
Definition at line 35 of file GDBRemoteCommunicationServerCommon.h.
Referenced by GDBRemoteCommunicationServerCommon(), Handle_qfProcessInfo(), and Handle_qsProcessInfo().
|
protected |
Definition at line 36 of file GDBRemoteCommunicationServerCommon.h.
Referenced by GDBRemoteCommunicationServerCommon(), Handle_qfProcessInfo(), and Handle_qsProcessInfo().
|
protected |
Definition at line 34 of file GDBRemoteCommunicationServerCommon.h.
Referenced by GDBRemoteCommunicationServerCommon(), Handle_A(), Handle_qLaunchSuccess(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vRun().
|
protected |
Definition at line 33 of file GDBRemoteCommunicationServerCommon.h.
Referenced by GDBRemoteCommunicationServerCommon(), Handle_A(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::Handle_qC(), Handle_QEnvironment(), Handle_QEnvironmentHexEncoded(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qGetWorkingDir(), Handle_QLaunchArch(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::Handle_qProcessInfo(), Handle_QSetDetachOnError(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QSetDisableASLR(), Handle_QSetSTDERR(), Handle_QSetSTDIN(), Handle_QSetSTDOUT(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QSetWorkingDir(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vRun(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::LaunchProcess(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::LaunchProcess(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::SetLaunchInfo().