Maemo: Detect unexpected gdbserver exit.

Task-number: QTCREATORBUG-4535
This commit is contained in:
Christian Kandeler
2011-04-15 14:20:04 +02:00
parent 07c0e56615
commit a471296780
2 changed files with 25 additions and 7 deletions

View File

@@ -294,17 +294,34 @@ void MaemoDebugSupport::startDebugging()
args += QString(QLatin1String(" -qmljsdebugger=port:%1,block"))
.arg(m_qmlPort);
}
const QString remoteCommandLine
= m_debuggingType == MaemoRunConfiguration::DebugQmlOnly
? QString::fromLocal8Bit("%1 %2 %3 %4").arg(cmdPrefix).arg(env)
.arg(remoteExe).arg(args)
: QString::fromLocal8Bit("%1 %2 gdbserver :%3 %4 %5")
.arg(cmdPrefix).arg(env).arg(m_gdbServerPort)
.arg(remoteExe).arg(args);
QString remoteCommandLine;
if (m_debuggingType == MaemoRunConfiguration::DebugQmlOnly) {
remoteCommandLine = QString::fromLocal8Bit("%1 %2 %3 %4")
.arg(cmdPrefix).arg(env).arg(remoteExe).arg(args);
} else {
remoteCommandLine = QString::fromLocal8Bit("%1 %2 gdbserver :%3 %4 %5")
.arg(cmdPrefix).arg(env).arg(m_gdbServerPort)
.arg(remoteExe).arg(args);
connect(m_runner, SIGNAL(remoteProcessFinished(qint64)),
SLOT(handleGdbServerFinished(qint64)));
}
m_runner->startExecution(remoteCommandLine.toUtf8());
}
}
void MaemoDebugSupport::handleGdbServerFinished(qint64 exitCode)
{
if (!m_engine || m_state == Inactive || exitCode == 0)
return;
if (m_state == Debugging)
m_engine->notifyInferiorIll();
else
m_engine->handleRemoteSetupFailed(tr("The gdbserver process closed unexpectedly."));
}
void MaemoDebugSupport::handleDebuggingFinished()
{
setState(Inactive);

View File

@@ -80,6 +80,7 @@ private slots:
void handleRemoteErrorOutput(const QByteArray &output);
void handleProgressReport(const QString &progressOutput);
void handleRemoteProcessStarted();
void handleGdbServerFinished(qint64 exitCode);
private:
enum State {