aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
diff options
context:
space:
mode:
authorhjk <hjk@theqtcompany.com>2015-07-17 13:56:37 +0200
committerhjk <hjk@theqtcompany.com>2015-07-21 09:35:45 +0000
commite5f76153b910fe5e6a1eb9f2f4e98f39afa80500 (patch)
tree93d466843305af8e6d8b4b199ff9c436a39339c5 /src/plugins/debugger/gdb/remotegdbserveradapter.cpp
parent6736331421824b3995dc188c14238d45ecee89c1 (diff)
Debugger: Fix use of server start script
... when using Debug->Start->Attach to Running Debug Server Task-number: QTCREATORBUG-14747 Task-number: QTCREATORBUG-7459 Change-Id: I98c3d4f2d565d972369f2716ff2b72b4d3d04b2b Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Diffstat (limited to 'src/plugins/debugger/gdb/remotegdbserveradapter.cpp')
-rw-r--r--src/plugins/debugger/gdb/remotegdbserveradapter.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
index 95f99d136a..0f3f4f234a 100644
--- a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
+++ b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
@@ -78,24 +78,27 @@ void GdbRemoteServerEngine::setupEngine()
{
QTC_ASSERT(state() == EngineSetupRequested, qDebug() << state());
showMessage(_("TRYING TO START ADAPTER"));
- if (!runParameters().serverStartScript.isEmpty()) {
+ QString serverStartScript = runParameters().serverStartScript;
+ if (!serverStartScript.isEmpty()) {
// Provide script information about the environment
QString arglist;
- QtcProcess::addArg(&arglist, runParameters().serverStartScript);
+ QtcProcess::addArg(&arglist, serverStartScript);
QtcProcess::addArg(&arglist, runParameters().executable);
QtcProcess::addArg(&arglist, runParameters().remoteChannel);
- m_uploadProc.start(_("/bin/sh ") + arglist);
+ m_uploadProc.start(arglist);
m_uploadProc.waitForStarted();
}
if (!runParameters().workingDirectory.isEmpty())
m_gdbProc.setWorkingDirectory(runParameters().workingDirectory);
- if (runParameters().remoteSetupNeeded)
+ if (runParameters().remoteSetupNeeded) {
notifyEngineRequestRemoteSetup();
- else
+ } else {
+ m_startAttempted = true;
startGdb();
+ }
}
void GdbRemoteServerEngine::uploadProcError(QProcess::ProcessError error)
@@ -151,7 +154,8 @@ void GdbRemoteServerEngine::readUploadStandardError()
void GdbRemoteServerEngine::uploadProcFinished()
{
if (m_uploadProc.exitStatus() == QProcess::NormalExit && m_uploadProc.exitCode() == 0) {
- startGdb();
+ if (!m_startAttempted)
+ startGdb();
} else {
RemoteSetupResult result;
result.success = false;