diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 0db41193eb1308f5546ea8381f3e7133d3cbbc22..5a07ab9af72bc97d6f84877f3e7b751c1446fd02 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -1870,8 +1870,21 @@ void GdbEngine::jumpToLineExec(const QString &fileName, int lineNumber) void GdbEngine::setTokenBarrier() { - foreach (const GdbCookie &ck, m_cookieForToken) - QTC_ASSERT(ck.synchronized || ck.type == GdbInvalidCommand, return); + foreach (const GdbCookie &cookie, m_cookieForToken) { + QTC_ASSERT( + cookie.synchronized + || cookie.type == GdbInvalidCommand + // FIXME: use something like "command classes" for these cases: + || cookie.type == GdbInfoProc + || cookie.type == GdbStubAttached + || cookie.type == ModulesList + || cookie.type == WatchDebuggingHelperSetup + || cookie.type == GdbQueryDebuggingHelper, + qDebug() << "CMD: " << cookie.command << "TYPE: " << cookie.type + << "SYNC: " << cookie.synchronized; + return + ); + } PENDING_DEBUG("\n--- token barrier ---\n"); emit gdbInputAvailable(QString(), "--- token barrier ---"); m_oldestAcceptableToken = currentToken(); diff --git a/tests/auto/debugger/main.cpp b/tests/auto/debugger/main.cpp index f59a54a6790c92e5b99ac94de0d93404559c0b92..13ece24e546c4eb56a9530658c3736f5cd4d88c6 100644 --- a/tests/auto/debugger/main.cpp +++ b/tests/auto/debugger/main.cpp @@ -142,6 +142,7 @@ int main(int argc, char *argv[]) if (args.size() == 2 && args.at(1) == "--run-debuggee") { runDebuggee(); + app.exec(); return 0; }