diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 2a82bbda4cf315a0e2bd7b558a50138daf3a7055..ec552df2fbffdf12e2ba00298c12a58709cec832 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -377,18 +377,18 @@ void GdbEngine::handleResponse(const QByteArray &buff) GdbMi record; while (from != to) { GdbMi data; - if (*from == ',') { - ++from; // skip ',' - data.parseResultOrValue(from, to); - if (data.isValid()) { - //qDebug() << "parsed response: " << data.toString(); - record.m_children += data; - record.m_type = GdbMi::Tuple; - } - } else { + if (*from != ',') { // happens on archer where we get // 23^running <NL> *running,thread-id="all" <NL> (gdb) record.m_type = GdbMi::Tuple; + break; + } + ++from; // skip ',' + data.parseResultOrValue(from, to); + if (data.isValid()) { + //qDebug() << "parsed response: " << data.toString(); + record.m_children += data; + record.m_type = GdbMi::Tuple; } } if (asyncClass == "stopped") {