diff options
Diffstat (limited to 'lldb/source/Utility/StringExtractorGDBRemote.cpp')
| -rw-r--r-- | lldb/source/Utility/StringExtractorGDBRemote.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/lldb/source/Utility/StringExtractorGDBRemote.cpp b/lldb/source/Utility/StringExtractorGDBRemote.cpp index d6bbf7171916..07954408f6d0 100644 --- a/lldb/source/Utility/StringExtractorGDBRemote.cpp +++ b/lldb/source/Utility/StringExtractorGDBRemote.cpp @@ -126,6 +126,8 @@ StringExtractorGDBRemote::GetServerPacketType() const { return eServerPacketType_QSetWorkingDir; if (PACKET_STARTS_WITH("QSetLogging:")) return eServerPacketType_QSetLogging; + if (PACKET_STARTS_WITH("QSetIgnoredExceptions")) + return eServerPacketType_QSetIgnoredExceptions; if (PACKET_STARTS_WITH("QSetMaxPacketSize:")) return eServerPacketType_QSetMaxPacketSize; if (PACKET_STARTS_WITH("QSetMaxPayloadSize:")) @@ -148,6 +150,11 @@ StringExtractorGDBRemote::GetServerPacketType() const { return eServerPacketType_QMemTags; break; + case 'N': + if (PACKET_STARTS_WITH("QNonStop:")) + return eServerPacketType_QNonStop; + break; + case 'R': if (PACKET_STARTS_WITH("QRestoreRegisterState:")) return eServerPacketType_QRestoreRegisterState; @@ -365,8 +372,16 @@ StringExtractorGDBRemote::GetServerPacketType() const { return eServerPacketType_vCont; if (PACKET_MATCHES("vCont?")) return eServerPacketType_vCont_actions; + if (PACKET_STARTS_WITH("vKill;")) + return eServerPacketType_vKill; if (PACKET_STARTS_WITH("vRun;")) return eServerPacketType_vRun; + if (PACKET_MATCHES("vStopped")) + return eServerPacketType_vStopped; + if (PACKET_MATCHES("vCtrlC")) + return eServerPacketType_vCtrlC; + break; + } break; case '_': @@ -624,7 +639,7 @@ llvm::Optional<std::pair<lldb::pid_t, lldb::tid_t>> StringExtractorGDBRemote::GetPidTid(lldb::pid_t default_pid) { llvm::StringRef view = llvm::StringRef(m_packet).substr(m_index); size_t initial_length = view.size(); - lldb::pid_t pid = default_pid; + lldb::pid_t pid = LLDB_INVALID_PROCESS_ID; lldb::tid_t tid; if (view.consume_front("p")) { @@ -660,5 +675,5 @@ StringExtractorGDBRemote::GetPidTid(lldb::pid_t default_pid) { // update m_index m_index += initial_length - view.size(); - return {{pid, tid}}; + return {{pid != LLDB_INVALID_PROCESS_ID ? pid : default_pid, tid}}; } |
