diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 76a9d75236c..a13667bdb64 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -1182,7 +1182,7 @@ void DebuggerEngine::notifyEngineSetupFailed() setState(EngineSetupFailed); QTC_ASSERT(d->m_runControl, return); d->m_runControl->startFailed(); - d->queueShutdownEngine(); + setState(DebuggerFinished); } void DebuggerEngine::notifyEngineSetupOk() diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index ea90ff9f155..820ad4e3917 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -172,6 +172,13 @@ // Transitions marked by '*' are done asynchronously. // The GdbEngine->setupEngine() function is described in more detail below. // +// The engines are responsible for local roll-back to the last +// acknowledged state before calling notify*Failed. I.e. before calling +// notifyEngineSetupFailed() any process started during setupEngine() +// so far must be terminated. +// +// +// // DebuggerNotReady // + // EngineSetupRequested