From 8dd627a257250b3847ffd6c6b0b38f45900841d7 Mon Sep 17 00:00:00 2001
From: ck <qt-info@nokia.com>
Date: Fri, 16 Apr 2010 14:36:55 +0200
Subject: [PATCH] Maemo: When debugging, print gdbserver and application
 output.

Reviewed-by: kh1
---
 .../qt-maemo/maemoruncontrol.cpp              | 26 ++++---------------
 .../qt-maemo/maemoruncontrol.h                |  3 ++-
 2 files changed, 7 insertions(+), 22 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
index a7e2856225d..675d8d87cb4 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
@@ -406,7 +406,7 @@ MaemoDebugRunControl::~MaemoDebugRunControl()
 
 void MaemoDebugRunControl::startInternal()
 {
-    m_inferiorPid = -1;
+    m_debuggingStarted = false;
     startDeployment(true);
 }
 
@@ -419,27 +419,11 @@ QString MaemoDebugRunControl::remoteCall() const
 
 void MaemoDebugRunControl::handleRemoteOutput(const QString &output)
 {
-    qDebug("gdbserver's stderr output: %s", output.toLatin1().data());
-    if (m_inferiorPid != -1)
-        return;
-    const QString searchString("pid = ");
-    const int searchStringLength = searchString.length();
-    int pidStartPos = output.indexOf(searchString);
-    const int pidEndPos = output.indexOf("\n", pidStartPos + searchStringLength);
-    if (pidStartPos == -1 || pidEndPos == -1)
-        return; // gdbserver has not started yet.
-    pidStartPos += searchStringLength;
-    QString pidString = output.mid(pidStartPos, pidEndPos - pidStartPos);
-    qDebug("pidString = %s", pidString.toLatin1().data());
-    bool ok;
-    const int pid = pidString.toInt(&ok);
-    if (!ok) {
-        handleError(tr("Debugging failed: Could not parse gdbserver output."));
-        m_debuggerManager->exitDebugger();
-    } else {
-        m_inferiorPid = pid;
+    if (!m_debuggingStarted) {
+        m_debuggingStarted = true;
         startDebugging();
     }
+    emit addToOutputWindowInline(this, output);
 }
 
 void MaemoDebugRunControl::startDebugging()
@@ -465,7 +449,7 @@ void MaemoDebugRunControl::debuggingFinished()
 
 void MaemoDebugRunControl::debuggerOutput(const QString &output)
 {
-    emit addToOutputWindowInline(this, output);
+    emit addToOutputWindowInline(this, QLatin1String("[gdb says:] ") + output);
 }
 
 QString MaemoDebugRunControl::gdbServerPort() const
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
index c455f4da32c..2eb0bf38c02 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
@@ -165,7 +165,8 @@ private:
 
     Debugger::DebuggerManager *m_debuggerManager;
     QSharedPointer<Debugger::DebuggerStartParameters> m_startParams;
-    int m_inferiorPid;
+
+    bool m_debuggingStarted;
 };
 
 } // namespace Internal
-- 
GitLab