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