Index: source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h =================================================================== --- source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h +++ source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h @@ -29,7 +29,8 @@ public: typedef std::map PortMap; - GDBRemoteCommunicationServerPlatform(const Socket::SocketProtocol socket_protocol); + GDBRemoteCommunicationServerPlatform(const Socket::SocketProtocol socket_protocol, + const char* socket_scheme); ~GDBRemoteCommunicationServerPlatform() override; @@ -67,6 +68,7 @@ protected: const Socket::SocketProtocol m_socket_protocol; + const std::string m_socket_scheme; Mutex m_spawned_pids_mutex; std::set m_spawned_pids; lldb::PlatformSP m_platform_sp; Index: source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp =================================================================== --- source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp +++ source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp @@ -46,9 +46,11 @@ //---------------------------------------------------------------------- // GDBRemoteCommunicationServerPlatform constructor //---------------------------------------------------------------------- -GDBRemoteCommunicationServerPlatform::GDBRemoteCommunicationServerPlatform(const Socket::SocketProtocol socket_protocol) : +GDBRemoteCommunicationServerPlatform::GDBRemoteCommunicationServerPlatform(const Socket::SocketProtocol socket_protocol, + const char* socket_scheme) : GDBRemoteCommunicationServerCommon ("gdb-remote.server", "gdb-remote.server.rx_packet"), m_socket_protocol(socket_protocol), + m_socket_scheme(socket_scheme), m_spawned_pids_mutex (Mutex::eMutexTypeRecursive), m_platform_sp (Platform::GetHostPlatform ()), m_port_map (), @@ -150,6 +152,7 @@ std::ostringstream url; uint16_t* port_ptr = &port; + url << m_socket_scheme << "://"; if (m_socket_protocol == Socket::ProtocolTcp) url << platform_ip << ":" << port; else Index: tools/lldb-server/Acceptor.h =================================================================== --- tools/lldb-server/Acceptor.h +++ tools/lldb-server/Acceptor.h @@ -42,6 +42,9 @@ Socket::SocketProtocol GetSocketProtocol() const; + const char* + GetSocketScheme() const; + // Returns either TCP port number as string or domain socket path. // Empty string is returned in case of error. std::string Index: tools/lldb-server/Acceptor.cpp =================================================================== --- tools/lldb-server/Acceptor.cpp +++ tools/lldb-server/Acceptor.cpp @@ -37,7 +37,8 @@ {"unix-abstract", Socket::ProtocolUnixAbstract}, }; -bool FindProtocolByScheme(const char* scheme, Socket::SocketProtocol& protocol) +bool +FindProtocolByScheme(const char* scheme, Socket::SocketProtocol& protocol) { for (auto s: socket_schemes) { @@ -50,6 +51,17 @@ return false; } +const char* +FindSchemeByProtocol(const Socket::SocketProtocol protocol) +{ + for (auto s: socket_schemes) + { + if (s.m_protocol == protocol) + return s.m_scheme; + } + return nullptr; +} + } Error @@ -78,6 +90,12 @@ return m_listener_socket_up->GetSocketProtocol(); } +const char* +Acceptor::GetSocketScheme() const +{ + return FindSchemeByProtocol(GetSocketProtocol()); +} + std::string Acceptor::GetLocalSocketId() const { Index: tools/lldb-server/lldb-platform.cpp =================================================================== --- tools/lldb-server/lldb-platform.cpp +++ tools/lldb-server/lldb-platform.cpp @@ -315,7 +315,8 @@ } do { - GDBRemoteCommunicationServerPlatform platform(acceptor_up->GetSocketProtocol()); + GDBRemoteCommunicationServerPlatform platform(acceptor_up->GetSocketProtocol(), + acceptor_up->GetSocketScheme()); if (port_offset > 0) platform.SetPortOffset(port_offset);