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 |
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) |
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) |
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, 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(), and RegisterMemberFunctionHandler().
|
overridedefault |
|
staticprotected |
Definition at line 1208 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 1236 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 1308 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 1320 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 1016 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::Args::AppendArgument(), lldb_private::ProcessInfo::GetArguments(), StringExtractor::GetBytesLeft(), StringExtractor::GetChar(), lldb_private::ProcessInfo::GetExecutableFile(), 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(), lldb_private::FileSpec::SetFile(), StringExtractor::SetFilePos(), lldb_private::Status::Success(), and UINT32_MAX.
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 1154 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 1089 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetStringRef(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 976 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetBytesLeft(), lldb_private::ProcessInfo::GetEnvironment(), lldb_private::Environment::insert(), 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 988 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetBytesLeft(), lldb_private::ProcessInfo::GetEnvironment(), StringExtractor::GetHexByteString(), lldb_private::Environment::insert(), 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 332 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 450 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 1002 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(), lldb_private::ProcessInfo::SetArchitecture(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 965 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::Status::AsCString(), lldb_private::StreamString::GetString(), m_process_launch_error, lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendOKResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock(), and lldb_private::Status::Success().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 1096 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 868 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 850 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 735 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 315 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 897 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::Flags::Clear(), lldb_private::ProcessLaunchInfo::GetFlags(), StringExtractor::GetU32(), m_process_launch_info, lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendOKResponse(), lldb_private::Flags::Set(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 949 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::ProcessLaunchInfo::AppendFileAction(), 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 917 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::ProcessLaunchInfo::AppendFileAction(), 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 933 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::ProcessLaunchInfo::AppendFileAction(), 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 469 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 415 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 908 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 888 of file GDBRemoteCommunicationServerCommon.cpp.
References StringExtractor::GetStringRef(), HandleFeatures(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::SendPacketNoLock().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 427 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 548 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 684 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 782 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 828 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 663 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(), and StringExtractor::SetFilePos().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 512 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 571 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 606 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 641 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 821 of file GDBRemoteCommunicationServerCommon.cpp.
References lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendUnimplementedResponse().
Referenced by GDBRemoteCommunicationServerCommon().
|
protected |
Definition at line 704 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 722 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 1376 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 Handle_qfProcessInfo(), and Handle_qsProcessInfo().
|
protected |
Definition at line 36 of file GDBRemoteCommunicationServerCommon.h.
Referenced by Handle_qfProcessInfo(), and Handle_qsProcessInfo().
|
protected |
Definition at line 34 of file GDBRemoteCommunicationServerCommon.h.
Referenced by Handle_A(), Handle_qLaunchSuccess(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vRun().
|
protected |
Definition at line 33 of file GDBRemoteCommunicationServerCommon.h.
Referenced by 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().