Maemo: Fix QML debugging.

In general, at least. Does not actually stop at breakpoints yet.
This commit is contained in:
Christian Kandeler
2011-02-11 16:02:41 +01:00
parent ef800d296f
commit f08e42f9ec
4 changed files with 18 additions and 8 deletions

View File

@@ -197,7 +197,7 @@ void QmlEngine::setupInferior()
QTC_ASSERT(state() == InferiorSetupRequested, qDebug() << state()); QTC_ASSERT(state() == InferiorSetupRequested, qDebug() << state());
if (startParameters().startMode == AttachToRemote) { if (startParameters().startMode == AttachToRemote) {
requestRemoteSetup(); emit requestRemoteSetup();
} else { } else {
connect(&d->m_applicationLauncher, connect(&d->m_applicationLauncher,
SIGNAL(processExited(int)), SIGNAL(processExited(int)),
@@ -311,10 +311,11 @@ void QmlEngine::stopApplicationLauncher()
} }
} }
void QmlEngine::handleRemoteSetupDone(int port) void QmlEngine::handleRemoteSetupDone(int gdbServerPort, int qmlPort)
{ {
if (port != -1) Q_UNUSED(gdbServerPort);
startParameters().qmlServerPort = port; if (qmlPort != -1)
startParameters().qmlServerPort = qmlPort;
notifyInferiorSetupOk(); notifyInferiorSetupOk();
} }

View File

@@ -55,7 +55,7 @@ public:
DebuggerEngine *masterEngine); DebuggerEngine *masterEngine);
~QmlEngine(); ~QmlEngine();
void handleRemoteSetupDone(int port); void handleRemoteSetupDone(int gdbServerPort, int qmlPort);
void handleRemoteSetupFailed(const QString &message); void handleRemoteSetupFailed(const QString &message);
void gotoLocation(const Location &location); void gotoLocation(const Location &location);
@@ -66,9 +66,6 @@ public slots:
void messageReceived(const QByteArray &message); void messageReceived(const QByteArray &message);
void disconnected(); void disconnected();
signals:
void remoteStartupRequested();
private: private:
// DebuggerEngine implementation. // DebuggerEngine implementation.
bool isSynchronous() const { return false; } bool isSynchronous() const { return false; }

View File

@@ -285,6 +285,10 @@ void MaemoDebugSupport::startDebugging()
SLOT(handleRemoteErrorOutput(QByteArray))); SLOT(handleRemoteErrorOutput(QByteArray)));
connect(m_runner, SIGNAL(remoteOutput(QByteArray)), this, connect(m_runner, SIGNAL(remoteOutput(QByteArray)), this,
SLOT(handleRemoteOutput(QByteArray))); SLOT(handleRemoteOutput(QByteArray)));
if (m_debuggingType == MaemoRunConfiguration::DebugQmlOnly) {
connect(m_runner, SIGNAL(remoteProcessStarted()),
SLOT(handleRemoteProcessStarted()));
}
const QString &remoteExe = m_runner->remoteExecutable(); const QString &remoteExe = m_runner->remoteExecutable();
const QString cmdPrefix = MaemoGlobal::remoteCommandPrefix(remoteExe); const QString cmdPrefix = MaemoGlobal::remoteCommandPrefix(remoteExe);
const QString env = MaemoGlobal::remoteEnvironment(m_userEnvChanges); const QString env = MaemoGlobal::remoteEnvironment(m_userEnvChanges);
@@ -350,6 +354,13 @@ void MaemoDebugSupport::handleAdapterSetupDone()
m_engine->handleRemoteSetupDone(m_gdbServerPort, m_qmlPort); m_engine->handleRemoteSetupDone(m_gdbServerPort, m_qmlPort);
} }
void MaemoDebugSupport::handleRemoteProcessStarted()
{
Q_ASSERT(m_debuggingType == MaemoRunConfiguration::DebugQmlOnly);
ASSERT_STATE(StartingRemoteProcess);
handleAdapterSetupDone();
}
void MaemoDebugSupport::setState(State newState) void MaemoDebugSupport::setState(State newState)
{ {
if (m_state == newState) if (m_state == newState)

View File

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