diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 65f866b583199c21da555b15cbe07e1cb748bfc6..130d4608b2bf2a8e8513e7e94f211022555a6b83 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -205,14 +205,17 @@ void GdbEngine::initializeVariables() void GdbEngine::gdbProcError(QProcess::ProcessError error) { QString msg; + bool kill = true; switch (error) { case QProcess::FailedToStart: + kill = false; msg = tr("The Gdb process failed to start. Either the " "invoked program '%1' is missing, or you may have insufficient " "permissions to invoke the program.") .arg(theDebuggerStringSetting(GdbLocation)); break; case QProcess::Crashed: + kill = false; msg = tr("The Gdb process crashed some time after starting " "successfully."); break; @@ -238,7 +241,8 @@ void GdbEngine::gdbProcError(QProcess::ProcessError error) q->showStatusMessage(msg); QMessageBox::critical(q->mainWindow(), tr("Error"), msg); // act as if it was closed by the core - q->exitDebugger(); + if (kill) + q->exitDebugger(); } void GdbEngine::uploadProcError(QProcess::ProcessError error)