Maemo: Make QML debugging engine aware of early inferior exit.

This commit is contained in:
Christian Kandeler
2011-04-21 09:38:58 +02:00
parent 92cc93db15
commit 4c65bac230
2 changed files with 17 additions and 16 deletions

View File

@@ -295,31 +295,32 @@ void MaemoDebugSupport::startDebugging()
.arg(m_qmlPort); .arg(m_qmlPort);
} }
QString remoteCommandLine; const QString remoteCommandLine = m_debuggingType == MaemoRunConfiguration::DebugQmlOnly
if (m_debuggingType == MaemoRunConfiguration::DebugQmlOnly) { ? QString::fromLocal8Bit("%1 %2 %3 %4").arg(cmdPrefix).arg(env)
remoteCommandLine = QString::fromLocal8Bit("%1 %2 %3 %4") .arg(remoteExe).arg(args)
.arg(cmdPrefix).arg(env).arg(remoteExe).arg(args); : QString::fromLocal8Bit("%1 %2 gdbserver :%3 %4 %5")
} else {
remoteCommandLine = QString::fromLocal8Bit("%1 %2 gdbserver :%3 %4 %5")
.arg(cmdPrefix).arg(env).arg(m_gdbServerPort) .arg(cmdPrefix).arg(env).arg(m_gdbServerPort)
.arg(remoteExe).arg(args); .arg(remoteExe).arg(args);
connect(m_runner, SIGNAL(remoteProcessFinished(qint64)), connect(m_runner, SIGNAL(remoteProcessFinished(qint64)),
SLOT(handleGdbServerFinished(qint64))); SLOT(handleRemoteProcessFinished(qint64)));
}
m_runner->startExecution(remoteCommandLine.toUtf8()); m_runner->startExecution(remoteCommandLine.toUtf8());
} }
} }
void MaemoDebugSupport::handleGdbServerFinished(qint64 exitCode) void MaemoDebugSupport::handleRemoteProcessFinished(qint64 exitCode)
{ {
if (!m_engine || m_state == Inactive || exitCode == 0) if (!m_engine || m_state == Inactive || exitCode == 0)
return; return;
if (m_state == Debugging) if (m_state == Debugging) {
m_engine->notifyInferiorIll(); if (m_debuggingType != MaemoRunConfiguration::DebugQmlOnly)
else m_engine->notifyInferiorIll();
m_engine->handleRemoteSetupFailed(tr("The gdbserver process closed unexpectedly.")); } else {
const QString errorMsg = m_debuggingType == MaemoRunConfiguration::DebugQmlOnly
? tr("Remote application failed with exit code %1.").arg(exitCode)
: tr("The gdbserver process closed unexpectedly.");
m_engine->handleRemoteSetupFailed(errorMsg);
}
} }
void MaemoDebugSupport::handleDebuggingFinished() void MaemoDebugSupport::handleDebuggingFinished()

View File

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