diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 792bd3b18ed399a0c5bb2da9cf8459d1c3618d64..e8d9d2dbaa30a4fc46a0739abc173d683ebcd237 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -440,8 +440,11 @@ void GdbEngine::handleResponse(const QByteArray &buff) // 7.1-symbianelf has "{id="i1"}" } else if (asyncClass == "thread-group-started") { // 7.1-symbianelf has "{id="i1",pid="42000"}" - } else if (asyncClass == "thread-group-created") { - // Archer has "{id="28902"}" + } else if (asyncClass == "thread-group-created" + || asyncClass == "thread-group-started") { + // Archer had only "{id="28902"}" at some point of 6.8.x. + // *-created seems to be standard nowadays, but in early + // 7.0.x, there was a *-started instead. int progress = m_progress->progressValue(); m_progress->setProgressValue(qMin(70, progress + 1)); QByteArray id = result.findChild("id").data(); diff --git a/tests/manual/gdbdebugger/simple/app.cpp b/tests/manual/gdbdebugger/simple/app.cpp index a61a448d44be81d54841de95997de4af3fb0f5a4..94bf5ab3965af26134dfdcc8daa8bfa9c030d97f 100644 --- a/tests/manual/gdbdebugger/simple/app.cpp +++ b/tests/manual/gdbdebugger/simple/app.cpp @@ -1531,6 +1531,14 @@ void testEndlessRecursion() testEndlessRecursion(); } +int testEndlessLoop() +{ + qlonglong a = 1; + while (a > 0) + ++a; + return a; +} + QString fooxx() { return "bababa"; @@ -1550,6 +1558,7 @@ int main(int argc, char *argv[]) testFunctionPointer(); testAnonymous(); testReference(); + //testEndlessLoop(); //testEndlessRecursion(); testQStack(); testUninitialized(); @@ -1625,9 +1634,6 @@ int main(int argc, char *argv[]) Q_UNUSED(s); Q_UNUSED(w); - - while(true) - ; } QT_BEGIN_NAMESPACE