forked from qt-creator/qt-creator
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:
@@ -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)
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user