From ac2ceb36d76186aeb13022ef6ebc785bb454e2cf Mon Sep 17 00:00:00 2001 From: hjk <hjk@qt.io> Date: Wed, 16 Nov 2016 13:02:22 +0100 Subject: [PATCH] Debugger: Split related settings GDB's 'target extended-remote' and 'set detach-on-fork' are related, but neither the same nor orthogonal. Better use two bools. Task-number: QTCREATORBUG-17264 Task-number: QTCREATORBUG-16978 Change-Id: I50dfcdf8f69fadcc6dff2dcf632e4bdfe28a28bf Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io> Reviewed-by: hjk <hjk@qt.io> --- src/plugins/debugger/debuggerstartparameters.h | 1 + src/plugins/debugger/gdb/remotegdbserveradapter.cpp | 4 ++-- src/plugins/remotelinux/remotelinuxruncontrolfactory.cpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/plugins/debugger/debuggerstartparameters.h b/src/plugins/debugger/debuggerstartparameters.h index 831bbec9248..136b27632e7 100644 --- a/src/plugins/debugger/debuggerstartparameters.h +++ b/src/plugins/debugger/debuggerstartparameters.h @@ -84,6 +84,7 @@ public: QString remoteChannel; QSsh::SshConnectionParameters connParams; bool remoteSetupNeeded = false; + bool useExtendedRemote = false; // Whether to use GDB's target extended-remote or not. QString symbolFile; // Used by Mer plugin (3rd party) diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp index 9d2b60d78fc..0e32b675920 100644 --- a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp +++ b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp @@ -262,7 +262,7 @@ void GdbRemoteServerEngine::callTargetRemote() if (m_isQnxGdb) runCommand({"target qnx " + channel, NoFlags, CB(handleTargetQnx)}); - else if (runParameters().multiProcess) + else if (runParameters().useExtendedRemote) runCommand({"target extended-remote " + channel, NoFlags, CB(handleTargetExtendedRemote)}); else runCommand({"target remote " + channel, NoFlags, CB(handleTargetRemote)}); @@ -467,7 +467,7 @@ void GdbRemoteServerEngine::notifyEngineRemoteServerRunning // Currently only used by Android support. runParameters().attachPID = inferiorPid; runParameters().remoteChannel = serverChannel; - runParameters().multiProcess = true; + runParameters().useExtendedRemote = true; showMessage("NOTE: REMOTE SERVER RUNNING IN MULTIMODE"); m_startAttempted = true; startGdb(); diff --git a/src/plugins/remotelinux/remotelinuxruncontrolfactory.cpp b/src/plugins/remotelinux/remotelinuxruncontrolfactory.cpp index 67c449564da..3926e40d675 100644 --- a/src/plugins/remotelinux/remotelinuxruncontrolfactory.cpp +++ b/src/plugins/remotelinux/remotelinuxruncontrolfactory.cpp @@ -122,7 +122,7 @@ RunControl *RemoteLinuxRunControlFactory::create(RunConfiguration *runConfig, Co params.qmlServer.port = Utils::Port(); // port is selected later on } if (aspect->useCppDebugger()) { - aspect->setUseMultiProcess(true); + params.useExtendedRemote = true; params.inferior.executable = stdRunnable.executable; params.inferior.commandLineArguments = stdRunnable.commandLineArguments; if (aspect->useQmlDebugger()) { -- GitLab