Debugger: Move setupPortsGatherer() into DebuggerRunParameters

Task-number: QTCREATORBUG-29168
Change-Id: I0ea10bc6e9e4ce0be1e6653559f11f750c0e5ce9
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2025-04-15 11:11:08 +02:00
parent 1ed969656b
commit 7cad0371e2
9 changed files with 16 additions and 18 deletions

View File

@@ -90,8 +90,8 @@ public:
setProducer([](RunControl *runControl) { setProducer([](RunControl *runControl) {
DebuggerRunTool *debugger = new DebuggerRunTool(runControl); DebuggerRunTool *debugger = new DebuggerRunTool(runControl);
debugger->setId("AndroidDebugger"); debugger->setId("AndroidDebugger");
debugger->setupPortsGatherer();
DebuggerRunParameters &rp = debugger->runParameters(); DebuggerRunParameters &rp = debugger->runParameters();
rp.setupPortsGatherer(runControl);
rp.setSkipDebugServer(true); rp.setSkipDebugServer(true);
rp.setLldbPlatform("remote-android"); rp.setLldbPlatform("remote-android");

View File

@@ -117,7 +117,7 @@ public:
worker->setId("QdbDeviceDebugSupport"); worker->setId("QdbDeviceDebugSupport");
DebuggerRunParameters &rp = worker->runParameters(); DebuggerRunParameters &rp = worker->runParameters();
worker->setupPortsGatherer(); rp.setupPortsGatherer(runControl);
rp.setStartMode(Debugger::AttachToRemoteServer); rp.setStartMode(Debugger::AttachToRemoteServer);
rp.setCloseMode(KillAndExitMonitorAtClose); rp.setCloseMode(KillAndExitMonitorAtClose);
rp.setUseContinueInsteadOfRun(true); rp.setUseContinueInsteadOfRun(true);

View File

@@ -210,6 +210,14 @@ void DebuggerRunParameters::setBreakOnMainNextTime()
breakOnMainNextTime = true; breakOnMainNextTime = true;
} }
void DebuggerRunParameters::setupPortsGatherer(ProjectExplorer::RunControl *runControl) const
{
if (isCppDebugging())
runControl->requestDebugChannel();
if (isQmlDebugging())
runControl->requestQmlChannel();
}
Result<> DebuggerRunParameters::fixupParameters(ProjectExplorer::RunControl *runControl) Result<> DebuggerRunParameters::fixupParameters(ProjectExplorer::RunControl *runControl)
{ {
if (m_symbolFile.isEmpty()) if (m_symbolFile.isEmpty())

View File

@@ -77,6 +77,8 @@ public:
static void setBreakOnMainNextTime(); static void setBreakOnMainNextTime();
void setupPortsGatherer(ProjectExplorer::RunControl *runControl) const;
Utils::Result<> fixupParameters(ProjectExplorer::RunControl *runControl); Utils::Result<> fixupParameters(ProjectExplorer::RunControl *runControl);
void setStartMode(DebuggerStartMode startMode); void setStartMode(DebuggerStartMode startMode);

View File

@@ -791,15 +791,6 @@ void DebuggerRunTool::stop()
emit canceled(); emit canceled();
} }
void DebuggerRunTool::setupPortsGatherer()
{
if (d->m_runParameters.isCppDebugging())
runControl()->requestDebugChannel();
if (d->m_runParameters.isQmlDebugging())
runControl()->requestQmlChannel();
}
DebuggerRunParameters &DebuggerRunTool::runParameters() DebuggerRunParameters &DebuggerRunTool::runParameters()
{ {
return d->m_runParameters; return d->m_runParameters;

View File

@@ -25,8 +25,6 @@ public:
void start() final; void start() final;
void stop() final; void stop() final;
void setupPortsGatherer();
DebuggerRunParameters &runParameters(); DebuggerRunParameters &runParameters();
signals: signals:

View File

@@ -136,7 +136,7 @@ void showAttachToProcessDialog()
auto debugger = new DebuggerRunTool(runControl); auto debugger = new DebuggerRunTool(runControl);
DebuggerRunParameters &rp = debugger->runParameters(); DebuggerRunParameters &rp = debugger->runParameters();
debugger->setId("QnxAttachDebugSupport"); debugger->setId("QnxAttachDebugSupport");
debugger->setupPortsGatherer(); rp.setupPortsGatherer(runControl);
rp.setUseCtrlCStub(true); rp.setUseCtrlCStub(true);
if (rp.isCppDebugging()) { if (rp.isCppDebugging()) {
const auto modifier = [runControl](Process &process) { const auto modifier = [runControl](Process &process) {
@@ -173,8 +173,6 @@ public:
debugger->setId("QnxDebugSupport"); debugger->setId("QnxDebugSupport");
runControl->postMessage(Tr::tr("Preparing remote side..."), LogMessageFormat); runControl->postMessage(Tr::tr("Preparing remote side..."), LogMessageFormat);
debugger->setupPortsGatherer();
const auto modifier = [runControl](Process &process) { const auto modifier = [runControl](Process &process) {
CommandLine cmd = runControl->commandLine(); CommandLine cmd = runControl->commandLine();
QStringList arguments; QStringList arguments;
@@ -199,6 +197,7 @@ public:
Kit *k = runControl->kit(); Kit *k = runControl->kit();
DebuggerRunParameters &rp = debugger->runParameters(); DebuggerRunParameters &rp = debugger->runParameters();
rp.setupPortsGatherer(runControl);
rp.setStartMode(AttachToRemoteServer); rp.setStartMode(AttachToRemoteServer);
rp.setCloseMode(KillAtClose); rp.setCloseMode(KillAtClose);
rp.setUseCtrlCStub(true); rp.setUseCtrlCStub(true);

View File

@@ -155,7 +155,6 @@ public:
setProducer([](RunControl *runControl) { setProducer([](RunControl *runControl) {
DebuggerRunTool *debugger = new DebuggerRunTool(runControl); DebuggerRunTool *debugger = new DebuggerRunTool(runControl);
debugger->setId("ApplicationManagerPlugin.Debug.Support"); debugger->setId("ApplicationManagerPlugin.Debug.Support");
debugger->setupPortsGatherer();
auto debuggee = createInferiorRunner(runControl, QmlDebuggerServices); auto debuggee = createInferiorRunner(runControl, QmlDebuggerServices);
debugger->addStartDependency(debuggee); debugger->addStartDependency(debuggee);
@@ -195,6 +194,7 @@ public:
} }
Debugger::DebuggerRunParameters &rp = debugger->runParameters(); Debugger::DebuggerRunParameters &rp = debugger->runParameters();
rp.setupPortsGatherer(runControl);
rp.setStartMode(Debugger::AttachToRemoteServer); rp.setStartMode(Debugger::AttachToRemoteServer);
rp.setCloseMode(Debugger::KillAndExitMonitorAtClose); rp.setCloseMode(Debugger::KillAndExitMonitorAtClose);

View File

@@ -52,7 +52,7 @@ public:
auto debugger = new DebuggerRunTool(rc); auto debugger = new DebuggerRunTool(rc);
DebuggerRunParameters &rp = debugger->runParameters(); DebuggerRunParameters &rp = debugger->runParameters();
debugger->setId("RemoteLinuxDebugWorker"); debugger->setId("RemoteLinuxDebugWorker");
debugger->setupPortsGatherer(); rp.setupPortsGatherer(rc);
rp.setUseTerminal(false); rp.setUseTerminal(false);
rp.setAddQmlServerInferiorCmdArgIfNeeded(true); rp.setAddQmlServerInferiorCmdArgIfNeeded(true);