diff --git a/src/plugins/android/androiddebugsupport.cpp b/src/plugins/android/androiddebugsupport.cpp index be3858ab8c9..df02874bcde 100644 --- a/src/plugins/android/androiddebugsupport.cpp +++ b/src/plugins/android/androiddebugsupport.cpp @@ -171,7 +171,7 @@ void AndroidDebugSupport::start() DebuggerRunParameters &rp = runParameters(); rp.setAttachPid(m_runner->pid()); if (rp.isCppDebugging()) { - if (cppEngineType() == LldbEngineType) { + if (rp.cppEngineType() == LldbEngineType) { QString deviceSerialNumber = Internal::deviceSerialNumber(runControl()->target()); const int colonPos = deviceSerialNumber.indexOf(QLatin1Char(':')); if (colonPos > 0) { diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 8a870604435..a448ed05777 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -139,7 +139,7 @@ DebuggerRunParameters DebuggerRunParameters::fromRunControl(ProjectExplorer::Run params.setSysRoot(SysRootKitAspect::sysRoot(kit)); params.macroExpander = runControl->macroExpander(); params.debugger = DebuggerKitAspect::runnable(kit); - params.cppEngineType = DebuggerKitAspect::engineType(kit); + params.m_cppEngineType = DebuggerKitAspect::engineType(kit); params.version = DebuggerKitAspect::version(kit); if (QtSupport::QtVersion *qtVersion = QtSupport::QtKitAspect::qtVersion(kit)) @@ -147,7 +147,7 @@ DebuggerRunParameters DebuggerRunParameters::fromRunControl(ProjectExplorer::Run if (auto aspect = runControl->aspectData()) { if (!aspect->useCppDebugger) - params.cppEngineType = NoEngineType; + params.m_cppEngineType = NoEngineType; params.m_isQmlDebugging = aspect->useQmlDebugger; params.isPythonDebugging = aspect->usePythonDebugger; params.multiProcess = aspect->useMultiProcess; @@ -309,7 +309,7 @@ void DebuggerRunParameters::setStartMode(DebuggerStartMode startMode) if (startMode != AttachToQmlServer) return; - cppEngineType = NoEngineType; + m_cppEngineType = NoEngineType; m_isQmlDebugging = true; m_closeMode = KillAtClose; @@ -336,12 +336,7 @@ void DebuggerRunParameters::addSolibSearchDir(const QString &str) bool DebuggerRunParameters::isCppDebugging() const { - return cppEngineType == GdbEngineType - || cppEngineType == LldbEngineType - || cppEngineType == CdbEngineType - || cppEngineType == GdbDapEngineType - || cppEngineType == LldbDapEngineType - || cppEngineType == UvscEngineType; + return cppEngineType() != NoEngineType; } bool DebuggerRunParameters::isNativeMixedDebugging() const @@ -3019,9 +3014,9 @@ void CppDebuggerEngine::validateRunParameters(DebuggerRunParameters &rp) if (CheckableDecider(warnOnInappropriateDebuggerKey).shouldAskAgain()) { QString preferredDebugger; if (rp.toolChainAbi.osFlavor() == Abi::WindowsMSysFlavor) { - if (rp.cppEngineType == CdbEngineType) + if (rp.cppEngineType() == CdbEngineType) preferredDebugger = "GDB"; - } else if (rp.cppEngineType != CdbEngineType && rp.cppEngineType != LldbEngineType) { + } else if (rp.cppEngineType() != CdbEngineType && rp.cppEngineType() != LldbEngineType) { // osFlavor() is MSVC, so the recommended debugger is still CDB, // but don't warn for LLDB which starts to be usable, too. preferredDebugger = "CDB"; @@ -3037,7 +3032,7 @@ void CppDebuggerEngine::validateRunParameters(DebuggerRunParameters &rp) } } if (warnOnRelease - && rp.cppEngineType == CdbEngineType + && rp.cppEngineType() == CdbEngineType && rp.startMode() != AttachToRemoteServer) { QTC_ASSERT(!rp.symbolFile().isEmpty(), return); if (!rp.symbolFile().exists() && !rp.symbolFile().endsWith(".exe")) @@ -3057,7 +3052,7 @@ void CppDebuggerEngine::validateRunParameters(DebuggerRunParameters &rp) } case Abi::ElfFormat: { if (CheckableDecider(warnOnInappropriateDebuggerKey).shouldAskAgain()) { - if (rp.cppEngineType == CdbEngineType) { + if (rp.cppEngineType() == CdbEngineType) { warnOnInappropriateDebugger = true; detailedWarning = Tr::tr( "The inferior is in the ELF format.\n" diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index 771d2acdd1c..dee11b935fe 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -178,7 +178,8 @@ public: QString additionalStartupCommands() const { return m_additionalStartupCommands; } - DebuggerEngineType cppEngineType = NoEngineType; + DebuggerEngineType cppEngineType() const { return m_cppEngineType; } + QString version; bool isPythonDebugging = false; @@ -281,6 +282,8 @@ private: // Macro-expanded and passed to debugger startup. QString m_additionalStartupCommands; + + DebuggerEngineType m_cppEngineType = NoEngineType; }; namespace Internal { diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp index bf5df1b6cb7..0a71a608530 100644 --- a/src/plugins/debugger/debuggerruncontrol.cpp +++ b/src/plugins/debugger/debuggerruncontrol.cpp @@ -221,7 +221,7 @@ void DebuggerRunTool::startTerminalIfNeededAndContinueStartup() m_runParameters.useTerminal = false; // CDB has a built-in console that might be preferred by some. - const bool useCdbConsole = m_runParameters.cppEngineType == CdbEngineType + const bool useCdbConsole = m_runParameters.cppEngineType() == CdbEngineType && (m_runParameters.startMode() == StartInternal || m_runParameters.startMode() == StartExternal) && settings().useCdbConsole(); @@ -310,7 +310,7 @@ void DebuggerRunTool::continueAfterTerminalStart() return; } - if (m_runParameters.cppEngineType == CdbEngineType + if (m_runParameters.cppEngineType() == CdbEngineType && Utils::is64BitWindowsBinary(m_runParameters.inferior().command.executable()) && !Utils::is64BitWindowsBinary(m_runParameters.debugger.command.executable())) { reportFailure( @@ -338,7 +338,7 @@ void DebuggerRunTool::continueAfterDebugServerStart() if (m_engines.isEmpty()) { if (m_runParameters.isCppDebugging()) { - switch (m_runParameters.cppEngineType) { + switch (m_runParameters.cppEngineType()) { case GdbEngineType: m_engines << createGdbEngine(); break; @@ -557,11 +557,6 @@ void DebuggerRunTool::setupPortsGatherer() runControl()->requestQmlChannel(); } -DebuggerEngineType DebuggerRunTool::cppEngineType() const -{ - return m_runParameters.cppEngineType; -} - DebuggerRunTool::DebuggerRunTool(RunControl *runControl, AllowTerminal allowTerminal) : RunWorker(runControl) , d(new DebuggerRunToolPrivate) diff --git a/src/plugins/debugger/debuggerruncontrol.h b/src/plugins/debugger/debuggerruncontrol.h index d1283bbb661..28b21ced1e2 100644 --- a/src/plugins/debugger/debuggerruncontrol.h +++ b/src/plugins/debugger/debuggerruncontrol.h @@ -52,8 +52,6 @@ public: void setAbi(const ProjectExplorer::Abi &abi); - DebuggerEngineType cppEngineType() const; - DebuggerRunParameters &runParameters() { return m_runParameters; } private: