diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 6f369baa8e62109949931736ba00633368d481f8..9af66c5edf6ad32d9f9c6fd800f676abfe8cb329 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -297,7 +297,8 @@ void GdbEngine::gdbProcError(QProcess::ProcessError error) "invoked program '%1' is missing, or you may have insufficient " "permissions to invoke the program.") .arg(theDebuggerStringSetting(GdbLocation)); - emitStartFailed(); + emit startFailed(); + shutdown(); break; case QProcess::Crashed: kill = false; diff --git a/src/plugins/debugger/gdb/plaingdbadapter.cpp b/src/plugins/debugger/gdb/plaingdbadapter.cpp index 851c5edb1d264c7d4b102f7da8757dd8db04cbee..f29def0afdfa0650ac2efdcba643e44d0df65d41 100644 --- a/src/plugins/debugger/gdb/plaingdbadapter.cpp +++ b/src/plugins/debugger/gdb/plaingdbadapter.cpp @@ -216,6 +216,13 @@ void PlainGdbAdapter::handleExecRun(const GdbResultRecord &response, const QVari } } +void PlainGdbAdapter::startInferior() +{ + QTC_ASSERT(state() == InferiorPrepared, qDebug() << state()); + setState(InferiorStarting); + m_engine->postCommand(_("-exec-run"), CB(handleExecRun)); +} + void PlainGdbAdapter::interruptInferior() { debugMessage(_("TRYING TO INTERUPT INFERIOR")); diff --git a/src/plugins/debugger/gdb/trkgdbadapter.cpp b/src/plugins/debugger/gdb/trkgdbadapter.cpp index 9be95bf82736e9f8743bfbbdf671b4780933d0b5..acb296d50e5ee44303724b193588dae3c27ebc82 100644 --- a/src/plugins/debugger/gdb/trkgdbadapter.cpp +++ b/src/plugins/debugger/gdb/trkgdbadapter.cpp @@ -32,7 +32,9 @@ #ifndef STANDALONE_RUNNER #include "gdbengine.h" #endif -#ifndef Q_OS_WIN +#ifdef Q_OS_WIN +# include <windows.h> +#else # include <sys/types.h> # include <unistd.h> #endif