aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger
diff options
context:
space:
mode:
authorJarek Kobus <[email protected]>2025-01-13 13:27:05 +0100
committerJarek Kobus <[email protected]>2025-01-13 12:45:29 +0000
commitace97b07cb1e9e3091eaf63ff26bd5711b94d943 (patch)
treee2b5353f585ee007af785c500ac4d1e8b62ebd0e /src/plugins/debugger
parent74ef874b9ea1d8e27bcf30058a111ab55c80c942 (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/debugger')
-rw-r--r--src/plugins/debugger/cdb/cdbengine.cpp6
-rw-r--r--src/plugins/debugger/debuggerdialogs.cpp2
-rw-r--r--src/plugins/debugger/debuggerengine.cpp8
-rw-r--r--src/plugins/debugger/debuggerengine.h12
-rw-r--r--src/plugins/debugger/debuggerplugin.cpp2
-rw-r--r--src/plugins/debugger/debuggerruncontrol.cpp13
-rw-r--r--src/plugins/debugger/debuggerruncontrol.h1
-rw-r--r--src/plugins/debugger/gdb/gdbengine.cpp8
-rw-r--r--src/plugins/debugger/lldb/lldbengine.cpp2
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);
}