summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2014-09-18 20:01:19 +0200
committerhjk <hjk121@nokiamail.com>2014-09-19 15:52:58 +0200
commit3bafbe710f1e1745c0a70031cd1a6a2350addc5f (patch)
tree98f93a3a75670e2ccc98ea22322a519ad7bb947a /src/plugins
parent2fffafe2db9337619e85399451efbc22e17dbadc (diff)
downloadqt-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.cpp15
-rw-r--r--src/plugins/debugger/gdb/remotegdbserveradapter.cpp23
-rw-r--r--src/plugins/debugger/gdb/remotegdbserveradapter.h1
-rw-r--r--src/plugins/debugger/lldb/lldbengine.cpp19
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 &params = 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();
}
///////////////////////////////////////////////////////////////////////