diff --git a/src/plugins/debugger/gdb/localgdbprocess.cpp b/src/plugins/debugger/gdb/localgdbprocess.cpp index 48ad8f0ea496a54c798699c4439deae76bf7855c..0db4d7906df59d9c2c8768ecdc47fe0df36ac250 100644 --- a/src/plugins/debugger/gdb/localgdbprocess.cpp +++ b/src/plugins/debugger/gdb/localgdbprocess.cpp @@ -32,14 +32,16 @@ #include "localgdbprocess.h" -#include <utils/qtcassert.h> +#include "procinterrupt.h" +#include "debuggerconstants.h" -#ifdef Q_OS_UNIX -#include <errno.h> -#include <signal.h> -#include <string.h> +#ifdef Q_OS_WIN +#include <utils/winutils.h> #endif +#include <utils/qtcassert.h> + + namespace Debugger { namespace Internal { @@ -87,16 +89,13 @@ void LocalGdbProcess::kill() bool LocalGdbProcess::interrupt() { -#ifdef Q_OS_UNIX - Q_PID pid = m_gdbProc.pid(); - int res = ::kill(pid, SIGINT); - if (res != 0) - m_errorString = QString::fromLocal8Bit(strerror(errno)); - return res == 0; + long pid; +#ifdef Q_OS_WIN + pid = Utils::winQPidToPid(m_gdbProc.pid()); #else - QTC_ASSERT(false, "NOT IMPLEMENTED"); - return false; + pid = m_gdbProc.pid(); #endif + return interruptProcess(pid, GdbEngineType, &m_errorString); } QProcess::ProcessState LocalGdbProcess::state() const