From 25389fcc25e2ec54917bb0b0e52894e4480fb003 Mon Sep 17 00:00:00 2001
From: David Schulz <david.schulz@digia.com>
Date: Wed, 20 Nov 2013 07:38:17 +0100
Subject: [PATCH] Debugger: Ignore "running" output when stop is requested.

When a shut down is requested we also try to stop.

Task-number: QTCREATORBUG-10935
Change-Id: I9e063a0fdbb94f7b9c915536612394c10bd53bc9
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
---
 src/plugins/debugger/gdb/gdbengine.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 882dfaac9d5..d7fc5d001b4 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -441,6 +441,11 @@ void GdbEngine::handleResponse(const QByteArray &buff)
                     // We get multiple *running after thread creation and in Windows terminals.
                     showMessage(QString::fromLatin1("NOTE: INFERIOR STILL RUNNING IN STATE %1.").
                                 arg(QLatin1String(DebuggerEngine::stateName(state()))));
+                } else if (Utils::HostOsInfo::isWindowsHost() && (state() == InferiorStopRequested
+                               || state() == InferiorShutdownRequested)) {
+                    // FIXME: Breakpoints on Windows are exceptions which are thrown in newly
+                    // created threads so we have to filter out the running threads messages when
+                    // we request a stop.
                 } else {
                     notifyInferiorRunOk();
                 }
-- 
GitLab