diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp index a664d30c406..c72fcb6228b 100644 --- a/src/plugins/debugger/debuggerruncontrol.cpp +++ b/src/plugins/debugger/debuggerruncontrol.cpp @@ -60,6 +60,7 @@ #include #include #include +#include #include #include @@ -564,6 +565,17 @@ void DebuggerRunTool::start() if (!fixupParameters()) return; + if (m_runParameters.cppEngineType == CdbEngineType + && Utils::is64BitWindowsBinary(m_runParameters.inferior.executable) + && !Utils::is64BitWindowsBinary(m_runParameters.debugger.executable)) { + reportFailure( + DebuggerPlugin::tr( + "%1 is a 64 bit executable which can not be debugged by a 32 bit Debugger.\n" + "Please select a 64 bit Debugger in the kit settings for this kit.") + .arg(m_runParameters.inferior.executable)); + return; + } + Utils::globalMacroExpander()->registerFileVariables( "DebuggedExecutable", tr("Debugged executable"), [this] { return m_runParameters.inferior.executable; }