From 78baa19781920bf2b1332ffd1a88884bd2ba42be Mon Sep 17 00:00:00 2001 From: Ewan Crawford Date: Wed, 13 May 2015 09:18:18 +0000 Subject: Remote Non-Stop Support Summary: This patch is the beginnings of support for Non-stop mode in the remote protocol. Letting a user examine stopped threads, while other threads execute freely. Non-stop mode is enabled using the setting target.non-stop-mode, which sends a QNonStop packet when establishing the remote connection. Changes are also made to treat the '?' stop reply packet differently in non-stop mode, according to spec https://sourceware.org/gdb/current/onlinedocs/gdb/Remote-Non_002dStop.html#Remote-Non_002dStop. A setting for querying the remote for default thread on setup is also included. Handling of '%' async notification packets will be added next. Reviewers: clayborg Subscribers: lldb-commits, ADodds, ted, deepak2427 Differential Revision: http://reviews.llvm.org/D9656 llvm-svn: 237239 --- lldb/source/Utility/StringExtractorGDBRemote.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lldb/source/Utility/StringExtractorGDBRemote.cpp') diff --git a/lldb/source/Utility/StringExtractorGDBRemote.cpp b/lldb/source/Utility/StringExtractorGDBRemote.cpp index 9dd4d7d2a406..74979926e538 100644 --- a/lldb/source/Utility/StringExtractorGDBRemote.cpp +++ b/lldb/source/Utility/StringExtractorGDBRemote.cpp @@ -64,6 +64,10 @@ StringExtractorGDBRemote::GetServerPacketType () const const char *packet_cstr = m_packet.c_str(); switch (m_packet[0]) { + + case '%': + return eServerPacketType_notify; + case '\x03': if (packet_size == 1) return eServerPacketType_interrupt; break; -- cgit v1.2.3