diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2014-09-01 16:06:29 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-09-02 15:31:36 +0200 |
commit | e8305e3ed2349b95c7311c296febc6d75f1a0c2a (patch) | |
tree | 889c654ff6165c518eb87cdd742d87f11a13e335 /src/plugins/debugger/gdb/remotegdbserveradapter.cpp | |
parent | 2a6491233c7b4d967f00807336cdcfa97c342c6e (diff) |
RemoteLinux: Fix mixed debugging.
The QML part was broken due to recent changes relating to gdbserver
"multi" mode.
Task-number: QTCREATORBUG-12928
Change-Id: Ia806f0cbfedd6961138f7cd89a0387bd851ff83e
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins/debugger/gdb/remotegdbserveradapter.cpp')
-rw-r--r-- | src/plugins/debugger/gdb/remotegdbserveradapter.cpp | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp index ca6e95771d..8d90c6c104 100644 --- a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp +++ b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp @@ -480,21 +480,27 @@ void GdbRemoteServerEngine::notifyEngineRemoteSetupDone(int gdbServerPort, int q QTC_ASSERT(state() == EngineSetupRequested, qDebug() << state()); DebuggerEngine::notifyEngineRemoteSetupDone(gdbServerPort, qmlPort); - if (m_isMulti) { - // Has been done in notifyEngineRemoteServerRunning - } else { - if (qmlPort != -1) - startParameters().qmlServerPort = qmlPort; - if (gdbServerPort != -1) { - QString &rc = startParameters().remoteChannel; - const int sepIndex = rc.lastIndexOf(QLatin1Char(':')); - if (sepIndex != -1) { - rc.replace(sepIndex + 1, rc.count() - sepIndex - 1, - QString::number(gdbServerPort)); - } + DebuggerStartParameters ¶ms = isMasterEngine() + ? startParameters() : masterEngine()->startParameters(); + if (gdbServerPort != -1) { + QString &rc = params.remoteChannel; + const int sepIndex = rc.lastIndexOf(QLatin1Char(':')); + if (sepIndex != -1) { + rc.replace(sepIndex + 1, rc.count() - sepIndex - 1, + QString::number(gdbServerPort)); } - startGdb(); } + if (qmlPort != -1) { + params.qmlServerPort = qmlPort; + params.processArgs.replace(_("%qml_port%"), QString::number(qmlPort)); + } + + // TODO: Aren't these redundant? + m_isMulti = params.multiProcess; + m_targetPid = -1; + m_serverChannel = params.remoteChannel.toLatin1(); + + startGdb(); } void GdbRemoteServerEngine::notifyEngineRemoteSetupFailed(const QString &reason) |