diff options
author | hjk <hjk121@nokiamail.com> | 2014-09-18 20:01:19 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-09-19 15:52:58 +0200 |
commit | 3bafbe710f1e1745c0a70031cd1a6a2350addc5f (patch) | |
tree | 98f93a3a75670e2ccc98ea22322a519ad7bb947a /src/plugins | |
parent | 2fffafe2db9337619e85399451efbc22e17dbadc (diff) | |
download | qt-creator-3bafbe710f1e1745c0a70031cd1a6a2350addc5f.tar.gz |
Debugger: Fix Android startup
Change-Id: I495412434ccffdb33528bbbe030c7a4bfa7e387c
Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/debugger/debuggerengine.cpp | 15 | ||||
-rw-r--r-- | src/plugins/debugger/gdb/remotegdbserveradapter.cpp | 23 | ||||
-rw-r--r-- | src/plugins/debugger/gdb/remotegdbserveradapter.h | 1 | ||||
-rw-r--r-- | src/plugins/debugger/lldb/lldbengine.cpp | 19 |
4 files changed, 24 insertions, 34 deletions
diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 15672093ce..7575b3b5bf 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -846,6 +846,21 @@ void DebuggerEngine::notifyEngineRemoteSetupFinished(const RemoteSetupResult &re if (d->remoteSetupState() != RemoteSetupCancelled) d->setRemoteSetupState(RemoteSetupSucceeded); + + if (result.gdbServerPort != InvalidPid) { + QString &rc = d->m_startParameters.remoteChannel; + const int sepIndex = rc.lastIndexOf(QLatin1Char(':')); + if (sepIndex != -1) { + rc.replace(sepIndex + 1, rc.count() - sepIndex - 1, + QString::number(result.gdbServerPort)); + } + } + + if (result.qmlServerPort != InvalidPort) { + d->m_startParameters.qmlServerPort = result.qmlServerPort; + d->m_startParameters.processArgs.replace(_("%qml_port%"), QString::number(result.qmlServerPort)); + } + } else { showMessage(_("NOTE: REMOTE SETUP FAILED: ") + result.reason); } diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp index 54441be1eb..d994b25021 100644 --- a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp +++ b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp @@ -476,6 +476,7 @@ void GdbRemoteServerEngine::notifyEngineRemoteServerRunning m_isMulti = true; m_targetPid = inferiorPid; m_serverChannel = serverChannel; + m_startAttempted = true; startGdb(); } @@ -489,27 +490,13 @@ void GdbRemoteServerEngine::notifyEngineRemoteSetupFinished(const RemoteSetupRes return; } - DebuggerStartParameters ¶ms = isMasterEngine() - ? startParameters() : masterEngine()->startParameters(); - if (result.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(result.gdbServerPort)); - } - } - if (result.qmlServerPort != -1) { - params.qmlServerPort = result.qmlServerPort; - params.processArgs.replace(_("%qml_port%"), QString::number(result.qmlServerPort)); - } - // TODO: Aren't these redundant? - m_isMulti = params.multiProcess; + m_isMulti = startParameters().multiProcess; m_targetPid = -1; - m_serverChannel = params.remoteChannel.toLatin1(); + m_serverChannel = startParameters().remoteChannel.toLatin1(); - startGdb(); + if (!m_startAttempted) + startGdb(); } } // namespace Internal diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.h b/src/plugins/debugger/gdb/remotegdbserveradapter.h index 83485ada08..31e27f3567 100644 --- a/src/plugins/debugger/gdb/remotegdbserveradapter.h +++ b/src/plugins/debugger/gdb/remotegdbserveradapter.h @@ -91,6 +91,7 @@ private: QProcess m_uploadProc; bool m_isMulti; + bool m_startAttempted; int m_targetPid; QByteArray m_serverChannel; }; diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index a7f4956162..b99b985abc 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -1342,7 +1342,9 @@ void LldbEngine::notifyEngineRemoteSetupFinished(const RemoteSetupResult &result QTC_ASSERT(state() == EngineSetupRequested, qDebug() << state()); DebuggerEngine::notifyEngineRemoteSetupFinished(result); - if (!result.success) { + if (result.success) { + startLldb(); + } else { showMessage(_("ADAPTER START FAILED")); if (!result.reason.isEmpty()) { const QString title = tr("Adapter start failed"); @@ -1351,21 +1353,6 @@ void LldbEngine::notifyEngineRemoteSetupFinished(const RemoteSetupResult &result notifyEngineSetupFailed(); return; } - - if (result.qmlServerPort != InvalidPort) - startParameters().qmlServerPort = result.qmlServerPort; - if (result.inferiorPid != InvalidPid) { - if (startParameters().startMode == AttachExternal) { - startParameters().attachPID = result.inferiorPid; - } else { - QString &rc = startParameters().remoteChannel; - const int sepIndex = rc.lastIndexOf(QLatin1Char(':')); - if (sepIndex != -1) - rc.replace(sepIndex + 1, rc.count() - sepIndex - 1, - QString::number(result.inferiorPid)); - } - } - startLldb(); } /////////////////////////////////////////////////////////////////////// |