forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -1364,7 +1364,6 @@ void DebuggerPluginPrivate::attachToRemoteServer()
|
|||||||
rp.startMode = AttachToRemoteServer;
|
rp.startMode = AttachToRemoteServer;
|
||||||
if (StartApplicationDialog::run(ICore::dialogParent(), &rp, &kit)) {
|
if (StartApplicationDialog::run(ICore::dialogParent(), &rp, &kit)) {
|
||||||
rp.closeMode = KillAtClose;
|
rp.closeMode = KillAtClose;
|
||||||
rp.serverStartScript.clear();
|
|
||||||
createAndScheduleRun(rp, kit);
|
createAndScheduleRun(rp, kit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,25 +78,28 @@ void GdbRemoteServerEngine::setupEngine()
|
|||||||
{
|
{
|
||||||
QTC_ASSERT(state() == EngineSetupRequested, qDebug() << state());
|
QTC_ASSERT(state() == EngineSetupRequested, qDebug() << state());
|
||||||
showMessage(_("TRYING TO START ADAPTER"));
|
showMessage(_("TRYING TO START ADAPTER"));
|
||||||
if (!runParameters().serverStartScript.isEmpty()) {
|
QString serverStartScript = runParameters().serverStartScript;
|
||||||
|
if (!serverStartScript.isEmpty()) {
|
||||||
|
|
||||||
// Provide script information about the environment
|
// Provide script information about the environment
|
||||||
QString arglist;
|
QString arglist;
|
||||||
QtcProcess::addArg(&arglist, runParameters().serverStartScript);
|
QtcProcess::addArg(&arglist, serverStartScript);
|
||||||
QtcProcess::addArg(&arglist, runParameters().executable);
|
QtcProcess::addArg(&arglist, runParameters().executable);
|
||||||
QtcProcess::addArg(&arglist, runParameters().remoteChannel);
|
QtcProcess::addArg(&arglist, runParameters().remoteChannel);
|
||||||
|
|
||||||
m_uploadProc.start(_("/bin/sh ") + arglist);
|
m_uploadProc.start(arglist);
|
||||||
m_uploadProc.waitForStarted();
|
m_uploadProc.waitForStarted();
|
||||||
}
|
}
|
||||||
if (!runParameters().workingDirectory.isEmpty())
|
if (!runParameters().workingDirectory.isEmpty())
|
||||||
m_gdbProc.setWorkingDirectory(runParameters().workingDirectory);
|
m_gdbProc.setWorkingDirectory(runParameters().workingDirectory);
|
||||||
|
|
||||||
if (runParameters().remoteSetupNeeded)
|
if (runParameters().remoteSetupNeeded) {
|
||||||
notifyEngineRequestRemoteSetup();
|
notifyEngineRequestRemoteSetup();
|
||||||
else
|
} else {
|
||||||
|
m_startAttempted = true;
|
||||||
startGdb();
|
startGdb();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void GdbRemoteServerEngine::uploadProcError(QProcess::ProcessError error)
|
void GdbRemoteServerEngine::uploadProcError(QProcess::ProcessError error)
|
||||||
{
|
{
|
||||||
@@ -151,6 +154,7 @@ void GdbRemoteServerEngine::readUploadStandardError()
|
|||||||
void GdbRemoteServerEngine::uploadProcFinished()
|
void GdbRemoteServerEngine::uploadProcFinished()
|
||||||
{
|
{
|
||||||
if (m_uploadProc.exitStatus() == QProcess::NormalExit && m_uploadProc.exitCode() == 0) {
|
if (m_uploadProc.exitStatus() == QProcess::NormalExit && m_uploadProc.exitCode() == 0) {
|
||||||
|
if (!m_startAttempted)
|
||||||
startGdb();
|
startGdb();
|
||||||
} else {
|
} else {
|
||||||
RemoteSetupResult result;
|
RemoteSetupResult result;
|
||||||
|
|||||||
Reference in New Issue
Block a user