diff options
author | Jarek Kobus <[email protected]> | 2025-01-13 13:27:05 +0100 |
---|---|---|
committer | Jarek Kobus <[email protected]> | 2025-01-13 12:45:29 +0000 |
commit | ace97b07cb1e9e3091eaf63ff26bd5711b94d943 (patch) | |
tree | e2b5353f585ee007af785c500ac4d1e8b62ebd0e /src/plugins | |
parent | 74ef874b9ea1d8e27bcf30058a111ab55c80c942 (diff) |
Debugger: Transform a few fields of DebuggerRunParameters
Transform multiProcess, useTerminal and runAsRoot.
Task-number: QTCREATORBUG-29168
Change-Id: I18fdd1f0637cf7b367f488128559627096bb39e0
Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/debugger/cdb/cdbengine.cpp | 6 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerdialogs.cpp | 2 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerengine.cpp | 8 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerengine.h | 12 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerplugin.cpp | 2 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerruncontrol.cpp | 13 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerruncontrol.h | 1 | ||||
-rw-r--r-- | src/plugins/debugger/gdb/gdbengine.cpp | 8 | ||||
-rw-r--r-- | src/plugins/debugger/lldb/lldbengine.cpp | 2 |
9 files changed, 27 insertions, 27 deletions
diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index affc89de424..ac4587dca32 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -285,7 +285,7 @@ void CdbEngine::setupEngine() sp.setInferior({{}, sp.inferior().workingDirectory, sp.inferior().environment}); sp.setAttachPid(applicationPid()); sp.setStartMode(AttachToLocalProcess); - sp.useTerminal = false; // Force no terminal. + sp.setUseTerminal(false); // Force no terminal. showMessage(Tr::tr("Attaching to %1...").arg(sp.attachPid().pid()), LogMisc); } else { m_effectiveStartMode = sp.startMode(); @@ -341,7 +341,7 @@ void CdbEngine::setupEngine() // register idle (debuggee stop) notification "-c", ".idle_cmd " + m_extensionCommandPrefix + "idle"}); - if (sp.useTerminal) // Separate console + if (sp.useTerminal()) // Separate console debugger.addArg("-2"); const DebuggerSettings &s = settings(); @@ -397,7 +397,7 @@ void CdbEngine::setupEngine() // Make sure that QTestLib uses OutputDebugString for logging. const QString qtLoggingToConsoleKey = QStringLiteral("QT_LOGGING_TO_CONSOLE"); - if (!sp.useTerminal && !inferiorEnvironment.hasKey(qtLoggingToConsoleKey)) + if (!sp.useTerminal() && !inferiorEnvironment.hasKey(qtLoggingToConsoleKey)) inferiorEnvironment.set(qtLoggingToConsoleKey, "0"); static const char cdbExtensionPathVariableC[] = "_NT_DEBUGGER_EXTENSION_PATH"; diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp index fe4c1c7cde4..cd696436f74 100644 --- a/src/plugins/debugger/debuggerdialogs.cpp +++ b/src/plugins/debugger/debuggerdialogs.cpp @@ -419,7 +419,7 @@ void StartApplicationDialog::run(bool attachRemote) rp.setInferior(newParameters.runnable); rp.setCommandsAfterConnect(newParameters.serverInitCommands); rp.setCommandsForReset(newParameters.serverResetCommands); - debugger->setUseTerminal(newParameters.runInTerminal); + rp.setUseTerminal(newParameters.runInTerminal); rp.setUseExtendedRemote(newParameters.useTargetExtendedRemote); if (!newParameters.sysRoot.isEmpty()) rp.setSysRoot(newParameters.sysRoot); diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 0ee5ee2a339..197fb8d9a8a 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -132,9 +132,9 @@ DebuggerRunParameters DebuggerRunParameters::fromRunControl(ProjectExplorer::Run if (auto symbolsAspect = runControl->aspectData<SymbolFileAspect>()) params.setSymbolFile(symbolsAspect->filePath); if (auto terminalAspect = runControl->aspectData<TerminalAspect>()) - params.useTerminal = terminalAspect->useTerminal; + params.m_useTerminal = terminalAspect->useTerminal; if (auto runAsRootAspect = runControl->aspectData<RunAsRootAspect>()) - params.runAsRoot = runAsRootAspect->value; + params.m_runAsRoot = runAsRootAspect->value; params.setSysRoot(SysRootKitAspect::sysRoot(kit)); params.macroExpander = runControl->macroExpander(); @@ -150,7 +150,7 @@ DebuggerRunParameters DebuggerRunParameters::fromRunControl(ProjectExplorer::Run params.m_cppEngineType = NoEngineType; params.m_isQmlDebugging = aspect->useQmlDebugger; params.m_isPythonDebugging = aspect->usePythonDebugger; - params.multiProcess = aspect->useMultiProcess; + params.m_multiProcess = aspect->useMultiProcess; params.m_additionalStartupCommands = aspect->overrideStartup; if (aspect->useCppDebugger) { @@ -2307,7 +2307,7 @@ void DebuggerEngine::setSecondaryEngine() bool DebuggerEngine::usesTerminal() const { - return d->m_runParameters.useTerminal; + return d->m_runParameters.useTerminal(); } qint64 DebuggerEngine::applicationPid() const diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index 570d6f9e3e5..1707e46990d 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -187,9 +187,12 @@ public: void setBreakOnMain(bool on) { m_breakOnMain = on; } bool breakOnMain() const { return m_breakOnMain; } - bool multiProcess = false; // Whether to set detach-on-fork off. - bool useTerminal = false; - bool runAsRoot = false; + bool multiProcess() const { return m_multiProcess; } + + void setUseTerminal(bool on) { m_useTerminal = on; } + bool useTerminal() const { return m_useTerminal; } + + bool runAsRoot() const { return m_runAsRoot; } Utils::ProcessRunData debugger; Utils::FilePath overrideStartScript; // Used in attach to core and remote debugging @@ -292,6 +295,9 @@ private: bool m_isPythonDebugging = false; bool m_breakOnMain = false; + bool m_multiProcess = false; // Whether to set detach-on-fork off. + bool m_useTerminal = false; + bool m_runAsRoot = false; }; namespace Internal { diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 615bf32a9a9..7b78da0b7fa 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1419,7 +1419,7 @@ bool DebuggerPluginPrivate::parseArgument(QStringList::const_iterator &it, rp.setDisplayName(Tr::tr("Executable file \"%1\"").arg(executable.toUserOutput())); debugger->setStartMessage(Tr::tr("Debugging file %1.").arg(executable.toUserOutput())); } - debugger->setUseTerminal(useTerminal); + rp.setUseTerminal(useTerminal); m_scheduledStarts.append(runControl); return true; diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp index df2f0118656..b48f4bd415c 100644 --- a/src/plugins/debugger/debuggerruncontrol.cpp +++ b/src/plugins/debugger/debuggerruncontrol.cpp @@ -103,11 +103,6 @@ public: } // namespace Internal -void DebuggerRunTool::setUseTerminal(bool on) -{ - m_runParameters.useTerminal = on; -} - void DebuggerRunTool::setDebugInfoLocation(const FilePath &debugInfoLocation) { m_runParameters.debugInfoLocation = debugInfoLocation; @@ -213,7 +208,7 @@ void DebuggerRunTool::continueAfterCoreFileSetup() void DebuggerRunTool::startTerminalIfNeededAndContinueStartup() { if (d->allowTerminal == DoNotAllowTerminal) - m_runParameters.useTerminal = false; + m_runParameters.setUseTerminal(false); // CDB has a built-in console that might be preferred by some. const bool useCdbConsole = m_runParameters.cppEngineType() == CdbEngineType @@ -221,9 +216,9 @@ void DebuggerRunTool::startTerminalIfNeededAndContinueStartup() || m_runParameters.startMode() == StartExternal) && settings().useCdbConsole(); if (useCdbConsole) - m_runParameters.useTerminal = false; + m_runParameters.setUseTerminal(false); - if (!m_runParameters.useTerminal) { + if (!m_runParameters.useTerminal()) { continueAfterTerminalStart(); return; } @@ -231,7 +226,7 @@ void DebuggerRunTool::startTerminalIfNeededAndContinueStartup() // Actually start the terminal. ProcessRunData stub = m_runParameters.inferior(); - if (m_runParameters.runAsRoot) { + if (m_runParameters.runAsRoot()) { d->terminalProc.setRunAsRoot(true); RunControl::provideAskPassEntry(stub.environment); } diff --git a/src/plugins/debugger/debuggerruncontrol.h b/src/plugins/debugger/debuggerruncontrol.h index 81dd7d380a8..b60a32ff894 100644 --- a/src/plugins/debugger/debuggerruncontrol.h +++ b/src/plugins/debugger/debuggerruncontrol.h @@ -33,7 +33,6 @@ public: void setStartMessage(const QString &msg); void setCrashParameter(const QString &event); - void setUseTerminal(bool on); void setUseDebugServer(Utils::ProcessHandle attachPid, bool essential, bool useMulti); void setDebugInfoLocation(const Utils::FilePath &debugInfoLocation); diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index f80927c86af..fbd82cdbfce 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -3864,9 +3864,9 @@ void GdbEngine::setupEngine() // This is filled in DebuggerKitAspect::runnable Environment gdbEnv = rp.debugger.environment; gdbEnv.setupEnglishOutput(); - if (rp.runAsRoot) + if (rp.runAsRoot()) RunControl::provideAskPassEntry(gdbEnv); - m_gdbProc.setRunAsRoot(rp.runAsRoot); + m_gdbProc.setRunAsRoot(rp.runAsRoot()); showMessage("STARTING " + gdbCommand.toUserOutput()); @@ -3982,7 +3982,7 @@ void GdbEngine::handleGdbStarted() //if (!ba.isEmpty()) // runCommand("set solib-search-path " + ba); - if (settings().multiInferior() || runParameters().multiProcess) { + if (settings().multiInferior() || runParameters().multiProcess()) { //runCommand("set follow-exec-mode new"); runCommand({"set detach-on-fork off"}); } @@ -4355,7 +4355,7 @@ void GdbEngine::interruptLocalInferior(qint64 pid) return; } QString errorMessage; - if (runParameters().runAsRoot) { + if (runParameters().runAsRoot()) { Environment env = Environment::systemEnvironment(); RunControl::provideAskPassEntry(env); Process proc; diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index 6562d28ff20..34482149f64 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -203,7 +203,7 @@ void LldbEngine::setupEngine() environment.appendOrSet("PYTHONPATH", "/usr/lib/llvm-14/lib/python3.10/dist-packages"); } - if (runParameters().runAsRoot) { + if (runParameters().runAsRoot()) { ProjectExplorer::RunControl::provideAskPassEntry(environment); m_lldbProc.setRunAsRoot(true); } |