diff --git a/src/plugins/debugger/gdb/attachgdbadapter.cpp b/src/plugins/debugger/gdb/attachgdbadapter.cpp index fe727ad4c015540d9e2a58535a0fe07b3f0bb492..6cf129963454b14db491866b0a5ea1d09869644d 100644 --- a/src/plugins/debugger/gdb/attachgdbadapter.cpp +++ b/src/plugins/debugger/gdb/attachgdbadapter.cpp @@ -135,7 +135,7 @@ void AttachGdbAdapter::handleAttach(const GdbResponse &response) m_engine->updateAll(); } else if (response.resultClass == GdbResultError) { QString msg = __(response.data.findChild("msg").data()); - setState(InferiorPreparationFailed); + setState(InferiorStartFailed); emit inferiorStartFailed(msg); } } @@ -167,6 +167,11 @@ void AttachGdbAdapter::shutdown() { switch (state()) { + case InferiorStartFailed: + m_engine->postCommand(_("-gdb-exit")); + setState(DebuggerNotReady); + return; + case InferiorStopped: setState(InferiorShuttingDown); m_engine->postCommand(_("detach"), CB(handleDetach));