diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp index a235a937e80cce3db887b0cd225524a06e20e88a..8ab999f68dfdfbce6386063e635350f05e2e5a62 100644 --- a/src/plugins/debugger/debuggermanager.cpp +++ b/src/plugins/debugger/debuggermanager.cpp @@ -1239,8 +1239,12 @@ void DebuggerManager::sessionLoaded() void DebuggerManager::aboutToUnloadSession() { - if (d->m_engine) - d->m_engine->shutdown(); + // Stop debugging the active project when switching sessions. + // Note that at startup, session switches may occur, which interfer + // with command-line debugging startup. + if (d->m_engine && state() != DebuggerNotReady + && d->m_startParameters->startMode == StartInternal) + d->m_engine->shutdown(); } void DebuggerManager::aboutToSaveSession()