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>
This commit is contained in:
hjk
2016-11-16 13:02:22 +01:00
parent bae72fcc51
commit ac2ceb36d7
3 changed files with 4 additions and 3 deletions

View File

@@ -84,6 +84,7 @@ public:
QString remoteChannel; QString remoteChannel;
QSsh::SshConnectionParameters connParams; QSsh::SshConnectionParameters connParams;
bool remoteSetupNeeded = false; bool remoteSetupNeeded = false;
bool useExtendedRemote = false; // Whether to use GDB's target extended-remote or not.
QString symbolFile; QString symbolFile;
// Used by Mer plugin (3rd party) // Used by Mer plugin (3rd party)

View File

@@ -262,7 +262,7 @@ void GdbRemoteServerEngine::callTargetRemote()
if (m_isQnxGdb) if (m_isQnxGdb)
runCommand({"target qnx " + channel, NoFlags, CB(handleTargetQnx)}); runCommand({"target qnx " + channel, NoFlags, CB(handleTargetQnx)});
else if (runParameters().multiProcess) else if (runParameters().useExtendedRemote)
runCommand({"target extended-remote " + channel, NoFlags, CB(handleTargetExtendedRemote)}); runCommand({"target extended-remote " + channel, NoFlags, CB(handleTargetExtendedRemote)});
else else
runCommand({"target remote " + channel, NoFlags, CB(handleTargetRemote)}); runCommand({"target remote " + channel, NoFlags, CB(handleTargetRemote)});
@@ -467,7 +467,7 @@ void GdbRemoteServerEngine::notifyEngineRemoteServerRunning
// Currently only used by Android support. // Currently only used by Android support.
runParameters().attachPID = inferiorPid; runParameters().attachPID = inferiorPid;
runParameters().remoteChannel = serverChannel; runParameters().remoteChannel = serverChannel;
runParameters().multiProcess = true; runParameters().useExtendedRemote = true;
showMessage("NOTE: REMOTE SERVER RUNNING IN MULTIMODE"); showMessage("NOTE: REMOTE SERVER RUNNING IN MULTIMODE");
m_startAttempted = true; m_startAttempted = true;
startGdb(); startGdb();

View File

@@ -122,7 +122,7 @@ RunControl *RemoteLinuxRunControlFactory::create(RunConfiguration *runConfig, Co
params.qmlServer.port = Utils::Port(); // port is selected later on params.qmlServer.port = Utils::Port(); // port is selected later on
} }
if (aspect->useCppDebugger()) { if (aspect->useCppDebugger()) {
aspect->setUseMultiProcess(true); params.useExtendedRemote = true;
params.inferior.executable = stdRunnable.executable; params.inferior.executable = stdRunnable.executable;
params.inferior.commandLineArguments = stdRunnable.commandLineArguments; params.inferior.commandLineArguments = stdRunnable.commandLineArguments;
if (aspect->useQmlDebugger()) { if (aspect->useQmlDebugger()) {