void PlainGdbAdapter::startAdapter() { QTC_ASSERT(state() == EngineStarting, qDebug() << state()); setState(AdapterStarting); debugMessage(_("TRYING TO START ADAPTER")); QStringList gdbArgs; if (!m_outputCollector.listen()) { emit adapterStartFailed(tr("Cannot set up communication with child process: %1") .arg(m_outputCollector.errorString()), QString()); return; } gdbArgs.append(_("--tty=") + m_outputCollector.serverName()); if (!startParameters().workingDir.isEmpty()) m_engine->m_gdbProc.setWorkingDirectory(startParameters().workingDir); if (!startParameters().environment.isEmpty()) m_engine->m_gdbProc.setEnvironment(startParameters().environment); if (!m_engine->startGdb(gdbArgs)) { m_outputCollector.shutdown(); return; } emit adapterStarted(); }
void RemoteGdbAdapter::startAdapter() { QTC_ASSERT(state() == EngineStarting, qDebug() << state()); setState(AdapterStarting); debugMessage(_("TRYING TO START ADAPTER")); // FIXME: make asynchroneous // Start the remote server if (startParameters().serverStartScript.isEmpty()) { m_engine->showStatusMessage(_("No server start script given. " "Assuming server runs already.")); } else { m_uploadProc.start(_("/bin/sh ") + startParameters().serverStartScript); m_uploadProc.waitForStarted(); } if (!m_engine->startGdb(QStringList(), startParameters().debuggerCommand)) // FIXME: cleanup missing return; emit adapterStarted(); }