diff options
author | hjk <hjk@theqtcompany.com> | 2015-07-17 13:56:37 +0200 |
---|---|---|
committer | hjk <hjk@theqtcompany.com> | 2015-07-21 09:35:45 +0000 |
commit | e5f76153b910fe5e6a1eb9f2f4e98f39afa80500 (patch) | |
tree | 93d466843305af8e6d8b4b199ff9c436a39339c5 /src/plugins/debugger/gdb/remotegdbserveradapter.cpp | |
parent | 6736331421824b3995dc188c14238d45ecee89c1 (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.cpp | 16 |
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; |