summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/debugger/gdbengine.cpp17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp
index df0eaa9f0b..e8f22f4944 100644
--- a/src/plugins/debugger/gdbengine.cpp
+++ b/src/plugins/debugger/gdbengine.cpp
@@ -444,7 +444,7 @@ void GdbEngine::handleResponse()
break;
}
- if (token == -1 && *from != '&' && *from != '~') {
+ if (token == -1 && *from != '&' && *from != '~' && *from != '*') {
// FIXME: On Linux the application's std::out is merged in here.
// High risk of falsely interpreting this as MI output.
// We assume that we _always_ use tokens, so not finding a token
@@ -493,8 +493,10 @@ void GdbEngine::handleResponse()
m_inbuffer = QByteArray(from, to - from);
if (asyncClass == "stopped") {
handleAsyncOutput(record);
+ } else if (asyncClass == "running") {
+ // Archer has 'thread-id="all"' here
} else {
- qDebug() << "INGNORED ASYNC OUTPUT " << record.toString();
+ qDebug() << "IGNORED ASYNC OUTPUT " << record.toString();
}
break;
}
@@ -773,11 +775,6 @@ void GdbEngine::handleResultRecord(const GdbResultRecord &record)
if (token == -1)
return;
- if (!m_cookieForToken.contains(token)) {
- qDebug() << "NO SUCH TOKEN (ANYMORE): " << token;
- return;
- }
-
GdbCookie cmd = m_cookieForToken.take(token);
// FIXME: this falsely rejects results from the custom dumper recognition
@@ -788,12 +785,6 @@ void GdbEngine::handleResultRecord(const GdbResultRecord &record)
return;
}
- // We get _two_ results for a '-exec-foo' command: First a
- // 'running' notification, then a 'stopped' or similar.
- // So put it back.
- if (record.resultClass == GdbResultRunning)
- m_cookieForToken[token] = cmd;
-
#if 0
qDebug() << "# handleOutput, "
<< "cmd type: " << cmd.type