From 8bb1fc57645112dacf155eb142f129cbffd056ab Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Mon, 13 Jan 2025 17:10:28 +0100 Subject: [PATCH] Debugger: Transform a few fields of DebuggerRunParameters Transform interpreter and mainScript. Task-number: QTCREATORBUG-29168 Change-Id: Ic2fa64b1f7fa7ba3958885a0f451d833cd3f12e9 Reviewed-by: hjk --- src/plugins/debugger/dap/pydapengine.cpp | 10 +++++----- src/plugins/debugger/debuggerengine.h | 11 ++++++++--- src/plugins/debugger/debuggerruncontrol.cpp | 6 +++--- src/plugins/debugger/pdb/pdbengine.cpp | 4 ++-- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/plugins/debugger/dap/pydapengine.cpp b/src/plugins/debugger/dap/pydapengine.cpp index 6a916a02a9b..0e6a828f0af 100644 --- a/src/plugins/debugger/dap/pydapengine.cpp +++ b/src/plugins/debugger/dap/pydapengine.cpp @@ -215,9 +215,9 @@ void PyDapEngine::setupEngine() { QTC_ASSERT(state() == EngineSetupRequested, qDebug() << state()); - Utils::FilePath interpreter = runParameters().interpreter; + Utils::FilePath interpreter = runParameters().interpreter(); - const FilePath scriptFile = runParameters().mainScript; + const FilePath scriptFile = runParameters().mainScript(); if (!scriptFile.isReadableFile()) { MessageManager::writeDisrupting( "Python Error" + QString("Cannot open script file %1").arg(scriptFile.toUserOutput())); @@ -234,11 +234,11 @@ void PyDapEngine::setupEngine() info.addCustomButton(Tr::tr("Install debugpy"), [this] { Core::ICore::infoBar()->removeInfo(installDebugPyInfoBarId); Core::ICore::infoBar()->globallySuppressInfo(installDebugPyInfoBarId); - const FilePath target = packageDir(runParameters().interpreter, "debugpy"); - QTC_ASSERT(target.isSameDevice(runParameters().interpreter), return); + const FilePath target = packageDir(runParameters().interpreter(), "debugpy"); + QTC_ASSERT(target.isSameDevice(runParameters().interpreter()), return); m_installProcess.reset(new Process); m_installProcess->setCommand( - {runParameters().interpreter, + {runParameters().interpreter(), {"-m", "pip", "install", diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index 50552004590..800cc6a82b4 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -221,9 +221,11 @@ public: void setApplicationMainThreadId(qint64 threadId) { m_applicationMainThreadId = threadId; } qint64 applicationMainThreadId() const { return m_applicationMainThreadId; } - // Used by Script debugging - Utils::FilePath interpreter; - Utils::FilePath mainScript; + void setInterpreter(const Utils::FilePath &path) { m_interpreter = path; } + Utils::FilePath interpreter() const { return m_interpreter; } + + void setMainScript(const Utils::FilePath &path) { m_mainScript = path; } + Utils::FilePath mainScript() const { return m_mainScript; } // Used by AttachCrashedExternal. QString crashParameter; @@ -325,6 +327,9 @@ private: qint64 m_applicationPid = 0; // Terminal qint64 m_applicationMainThreadId = 0; // Terminal + + Utils::FilePath m_interpreter; // Used by Script debugging + Utils::FilePath m_mainScript; // Used by Script debugging }; namespace Internal { diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp index 3631449a421..84760e6ca4b 100644 --- a/src/plugins/debugger/debuggerruncontrol.cpp +++ b/src/plugins/debugger/debuggerruncontrol.cpp @@ -259,7 +259,7 @@ void DebuggerRunTool::continueAfterTerminalStart() // User canceled input dialog asking for executable when working on library project. if (m_runParameters.startMode() == StartInternal && m_runParameters.inferior().command.isEmpty() - && m_runParameters.interpreter.isEmpty()) { + && m_runParameters.interpreter().isEmpty()) { reportFailure(Tr::tr("No executable specified.")); return; } @@ -362,8 +362,8 @@ void DebuggerRunTool::continueAfterDebugServerStart() const FilePath mainScript = mainScriptAspect->filePath; const FilePath interpreter = interpreterAspect->filePath; if (!interpreter.isEmpty() && mainScript.endsWith(".py")) { - m_runParameters.mainScript = mainScript; - m_runParameters.interpreter = interpreter; + m_runParameters.setMainScript(mainScript); + m_runParameters.setInterpreter(interpreter); } } } diff --git a/src/plugins/debugger/pdb/pdbengine.cpp b/src/plugins/debugger/pdb/pdbengine.cpp index 96a56f1e7f9..178cdf59a38 100644 --- a/src/plugins/debugger/pdb/pdbengine.cpp +++ b/src/plugins/debugger/pdb/pdbengine.cpp @@ -95,7 +95,7 @@ void PdbEngine::setupEngine() { QTC_ASSERT(state() == EngineSetupRequested, qDebug() << state()); - m_interpreter = runParameters().interpreter; + m_interpreter = runParameters().interpreter(); const FilePath bridge = ICore::resourcePath("debugger/pdbbridge.py"); connect(&m_proc, &Process::started, this, &PdbEngine::handlePdbStarted); @@ -103,7 +103,7 @@ void PdbEngine::setupEngine() connect(&m_proc, &Process::readyReadStandardOutput, this, &PdbEngine::readPdbStandardOutput); connect(&m_proc, &Process::readyReadStandardError, this, &PdbEngine::readPdbStandardError); - const FilePath scriptFile = runParameters().mainScript; + const FilePath scriptFile = runParameters().mainScript(); if (!scriptFile.isReadableFile()) { AsynchronousMessageBox::critical(Tr::tr("Python Error"), QString("Cannot open script file %1")