Commit 4da14225 authored by Erik Verbruggen's avatar Erik Verbruggen
Browse files

Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline

parents a0b5d27d 43eb93b1
......@@ -27,8 +27,8 @@
**
**************************************************************************/
#ifndef DEBUGGER_PROCESSBASE_H
#define DEBUGGER_PROCESSBASE_H
#ifndef DEBUGGER_ABSTRACT_GDB_ADAPTER
#define DEBUGGER_ABSTRACT_GDB_ADAPTER
#include <QtCore/QObject>
#include <QtCore/QProcess>
......@@ -38,16 +38,17 @@ namespace Internal {
class GdbEngine;
// GdbProcessBase is inherited by GdbProcess and the gdb/trk Adapter.
// In the GdbProcess case it's just a wrapper around a QProcess running
// gdb, in the Adapter case it's the interface to the gdb process in
// AbstractGdbAdapter is inherited by PlainGdbAdapter used for local
// debugging and TrkGdbAdapter used for on-device debugging.
// In the PlainGdbAdapter case it's just a wrapper around a QProcess running
// gdb, in the TrkGdbAdapter case it's the interface to the gdb process in
// the whole rfomm/gdb/gdbserver combo.
class GdbProcessBase : public QObject
class AbstractGdbAdapter : public QObject
{
Q_OBJECT
public:
GdbProcessBase(QObject *parent = 0) : QObject(parent) {}
AbstractGdbAdapter(QObject *parent = 0) : QObject(parent) {}
virtual void start(const QString &program, const QStringList &args,
QIODevice::OpenMode mode = QIODevice::ReadWrite) = 0;
......@@ -77,4 +78,4 @@ signals:
} // namespace Internal
} // namespace Debugger
#endif // DEBUGGER_PROCESSBASE_H
#endif // DEBUGGER_ABSTRACT_GDB_ADAPTER
HEADERS += \
$$PWD/gdbprocessbase.h \
$$PWD/abstractgdbadapter.h \
$$PWD/gdbmi.h \
$$PWD/gdbengine.h \
$$PWD/gdboptionspage.h \
$$PWD/callback.h \
$$PWD/trkutils.h \
$$PWD/trkclient.h \
$$PWD/symbianadapter.h \
$$PWD/trkgdbadapter.h \
#$$PWD/gdboptionspage.h \
SOURCES += \
......@@ -15,8 +15,7 @@ SOURCES += \
$$PWD/gdboptionspage.cpp \
$$PWD/trkutils.cpp \
$$PWD/trkclient.cpp \
$$PWD/symbianadapter.cpp \
$$PWD/symbianengine.cpp \
$$PWD/trkgdbadapter.cpp \
#$$PWD/gdboptionspage.cpp \
FORMS += $$PWD/gdboptionspage.ui
......
......@@ -31,6 +31,7 @@
#include "gdbengine.h"
#include "gdboptionspage.h"
#include "trkgdbadapter.h"
#include "watchutils.h"
#include "debuggeractions.h"
......@@ -140,11 +141,11 @@ static QByteArray parsePlainConsoleStream(const GdbResultRecord &record)
///////////////////////////////////////////////////////////////////////
//
// GdbProcess
// PlainGdbAdapter
//
///////////////////////////////////////////////////////////////////////
void GdbProcess::attach(GdbEngine *engine) const
void PlainGdbAdapter::attach(GdbEngine *engine) const
{
QFileInfo fi(engine->startParameters().executable);
QString fileName = fi.absoluteFilePath();
......@@ -158,7 +159,7 @@ void GdbProcess::attach(GdbEngine *engine) const
//
///////////////////////////////////////////////////////////////////////
GdbEngine::GdbEngine(DebuggerManager *parent, GdbProcessBase *gdbProc) :
GdbEngine::GdbEngine(DebuggerManager *parent, AbstractGdbAdapter *gdbAdapter) :
#ifdef Q_OS_WIN // Do injection loading with MinGW (call loading does not work with 64bit)
m_dumperInjectionLoad(true),
#else
......@@ -167,7 +168,7 @@ GdbEngine::GdbEngine(DebuggerManager *parent, GdbProcessBase *gdbProc) :
q(parent),
qq(parent->engineInterface())
{
m_gdbProc = gdbProc;
m_gdbAdapter = gdbAdapter;
m_stubProc.setMode(Core::Utils::ConsoleProcess::Debug);
#ifdef Q_OS_UNIX
m_stubProc.setSettings(Core::ICore::instance()->settings());
......@@ -179,22 +180,22 @@ GdbEngine::GdbEngine(DebuggerManager *parent, GdbProcessBase *gdbProc) :
GdbEngine::~GdbEngine()
{
// prevent sending error messages afterwards
m_gdbProc->disconnect(this);
delete m_gdbProc;
m_gdbAdapter->disconnect(this);
delete m_gdbAdapter;
}
void GdbEngine::initializeConnections()
{
// Gdb Process interaction
connect(m_gdbProc, SIGNAL(error(QProcess::ProcessError)),
connect(m_gdbAdapter, SIGNAL(error(QProcess::ProcessError)),
this, SLOT(gdbProcError(QProcess::ProcessError)));
connect(m_gdbProc, SIGNAL(readyReadStandardOutput()),
connect(m_gdbAdapter, SIGNAL(readyReadStandardOutput()),
this, SLOT(readGdbStandardOutput()));
connect(m_gdbProc, SIGNAL(readyReadStandardError()),
connect(m_gdbAdapter, SIGNAL(readyReadStandardError()),
this, SLOT(readGdbStandardError()));
connect(m_gdbProc, SIGNAL(finished(int, QProcess::ExitStatus)),
connect(m_gdbAdapter, SIGNAL(finished(int, QProcess::ExitStatus)),
q, SLOT(exitDebugger()));
connect(m_gdbProc, SIGNAL(started()),
connect(m_gdbAdapter, SIGNAL(started()),
this, SLOT(startDebugger2()));
connect(&m_stubProc, SIGNAL(processError(QString)),
......@@ -267,7 +268,7 @@ void GdbEngine::initializeVariables()
// FIXME: unhandled:
//m_outputCodecState = QTextCodec::ConverterState();
//OutputCollector m_outputCollector;
//QProcess m_gdbProc;
//QProcess m_gdbAdapter;
//QProcess m_uploadProc;
//Core::Utils::ConsoleProcess m_stubProc;
}
......@@ -633,7 +634,7 @@ void GdbEngine::stubError(const QString &msg)
void GdbEngine::readGdbStandardError()
{
qWarning() << "Unexpected gdb stderr:" << m_gdbProc->readAllStandardError();
qWarning() << "Unexpected gdb stderr:" << m_gdbAdapter->readAllStandardError();
}
void GdbEngine::readGdbStandardOutput()
......@@ -641,7 +642,7 @@ void GdbEngine::readGdbStandardOutput()
int newstart = 0;
int scan = m_inbuffer.size();
m_inbuffer.append(m_gdbProc->readAllStandardOutput());
m_inbuffer.append(m_gdbAdapter->readAllStandardOutput());
while (newstart < m_inbuffer.size()) {
int start = newstart;
......@@ -670,7 +671,7 @@ void GdbEngine::interruptInferior()
{
qq->notifyInferiorStopRequested();
if (m_gdbProc->state() == QProcess::NotRunning) {
if (m_gdbAdapter->state() == QProcess::NotRunning) {
debugMessage(_("TRYING TO INTERRUPT INFERIOR WITHOUT RUNNING GDB"));
qq->notifyInferiorExited();
return;
......@@ -717,7 +718,7 @@ void GdbEngine::postCommand(const QString &command, GdbCommandFlags flags,
GdbCommandCallback callback, const char *callbackName,
const QVariant &cookie)
{
if (m_gdbProc->state() == QProcess::NotRunning) {
if (m_gdbAdapter->state() == QProcess::NotRunning) {
debugMessage(_("NO GDB PROCESS RUNNING, CMD IGNORED: ") + command);
return;
}
......@@ -846,12 +847,12 @@ void GdbEngine::handleResultRecord(const GdbResultRecord &record)
void GdbEngine::executeDebuggerCommand(const QString &command)
{
if (m_gdbProc->state() != QProcess::Running) {
if (m_gdbAdapter->state() != QProcess::Running) {
debugMessage(_("GDB PROCESS NOT RUNNING, PLAIN CMD IGNORED: ") + command);
return;
}
m_gdbProc->write(command.toLatin1() + "\r\n");
m_gdbAdapter->write(command.toLatin1() + "\r\n");
}
void GdbEngine::handleTargetCore(const GdbResultRecord &, const QVariant &)
......@@ -1292,7 +1293,7 @@ void GdbEngine::handleAsyncOutput2(const GdbMi &data)
}
// FIXME: Hack, remove as soon as we get real stack traces.
if (m_gdbProc->isAdapter()) {
if (m_gdbAdapter->isAdapter()) {
StackFrame f;
f.file = QString::fromLocal8Bit(fullName.data());
f.line = frame.findChild("line").data().toInt();
......@@ -1459,16 +1460,16 @@ void GdbEngine::detachDebugger()
void GdbEngine::exitDebugger()
{
debugMessage(_("GDBENGINE EXITDEBUGGER: %1").arg(m_gdbProc->state()));
if (m_gdbProc->state() == QProcess::Starting) {
debugMessage(_("GDBENGINE EXITDEBUGGER: %1").arg(m_gdbAdapter->state()));
if (m_gdbAdapter->state() == QProcess::Starting) {
debugMessage(_("WAITING FOR GDB STARTUP TO SHUTDOWN: %1")
.arg(m_gdbProc->state()));
.arg(m_gdbAdapter->state()));
// FIXME: handle this!
//m_gdbProc->waitForStarted();
//m_gdbAdapter->waitForStarted();
}
if (m_gdbProc->state() == QProcess::Running) {
if (m_gdbAdapter->state() == QProcess::Running) {
debugMessage(_("WAITING FOR RUNNING GDB TO SHUTDOWN: %1")
.arg(m_gdbProc->state()));
.arg(m_gdbAdapter->state()));
if (q->status() != DebuggerInferiorStopped
&& q->status() != DebuggerProcessStartingUp) {
QTC_ASSERT(q->status() == DebuggerInferiorRunning,
......@@ -1481,17 +1482,17 @@ void GdbEngine::exitDebugger()
postCommand(_("kill"));
postCommand(_("-gdb-exit"), CB(handleExit));
// 20s can easily happen when loading webkit debug information
if (!m_gdbProc->waitForFinished(20000)) {
if (!m_gdbAdapter->waitForFinished(20000)) {
debugMessage(_("FORCING TERMINATION: %1")
.arg(m_gdbProc->state()));
m_gdbProc->terminate();
m_gdbProc->waitForFinished(20000);
.arg(m_gdbAdapter->state()));
m_gdbAdapter->terminate();
m_gdbAdapter->waitForFinished(20000);
}
}
if (m_gdbProc->state() != QProcess::NotRunning) {
if (m_gdbAdapter->state() != QProcess::NotRunning) {
debugMessage(_("PROBLEM STOPPING DEBUGGER: STATE %1")
.arg(m_gdbProc->state()));
m_gdbProc->kill();
.arg(m_gdbAdapter->state()));
m_gdbAdapter->kill();
}
m_outputCollector.shutdown();
......@@ -1514,9 +1515,9 @@ void GdbEngine::startDebugger(const QSharedPointer<DebuggerStartParameters> &sp)
QStringList gdbArgs;
if (m_gdbProc->state() != QProcess::NotRunning) {
debugMessage(_("GDB IS ALREADY RUNNING, STATE: %1").arg(m_gdbProc->state()));
m_gdbProc->kill();
if (m_gdbAdapter->state() != QProcess::NotRunning) {
debugMessage(_("GDB IS ALREADY RUNNING, STATE: %1").arg(m_gdbAdapter->state()));
m_gdbAdapter->kill();
emitStartFailed();
return;
}
......@@ -1562,16 +1563,16 @@ void GdbEngine::startDebugger(const QSharedPointer<DebuggerStartParameters> &sp)
gdbArgs.prepend(_("--tty=") + m_outputCollector.serverName());
if (!m_startParameters.workingDir.isEmpty())
m_gdbProc->setWorkingDirectory(m_startParameters.workingDir);
m_gdbAdapter->setWorkingDirectory(m_startParameters.workingDir);
if (!m_startParameters.environment.isEmpty())
m_gdbProc->setEnvironment(m_startParameters.environment);
m_gdbAdapter->setEnvironment(m_startParameters.environment);
}
#if 0
qDebug() << "Command:" << q->settings()->m_gdbCmd;
qDebug() << "WorkingDirectory:" << m_gdbProc->workingDirectory();
qDebug() << "WorkingDirectory:" << m_gdbAdapter->workingDirectory();
qDebug() << "ScriptFile:" << q->settings()->m_scriptFile;
qDebug() << "Environment:" << m_gdbProc->environment();
qDebug() << "Environment:" << m_gdbAdapter->environment();
qDebug() << "Arguments:" << gdbArgs;
qDebug() << "BuildDir:" << m_startParameters.buildDir;
qDebug() << "ExeFile:" << m_startParameters.executable;
......@@ -1579,13 +1580,13 @@ void GdbEngine::startDebugger(const QSharedPointer<DebuggerStartParameters> &sp)
QString loc = theDebuggerStringSetting(GdbLocation);
q->showStatusMessage(tr("Starting Debugger: ") + loc + _c(' ') + gdbArgs.join(_(" ")));
m_gdbProc->start(loc, gdbArgs);
m_gdbAdapter->start(loc, gdbArgs);
}
void GdbEngine::emitStartFailed()
{
// QMessageBox::critical(q->mainWindow(), tr("Debugger Startup Failure"),
// tr("Cannot start debugger: %1").arg(m_gdbProc->errorString()));
// tr("Cannot start debugger: %1").arg(m_gdbAdapter->errorString()));
m_outputCollector.shutdown();
m_stubProc.blockSignals(true);
m_stubProc.stop();
......@@ -1700,8 +1701,8 @@ void GdbEngine::startDebugger2()
} else if (m_startParameters.useTerminal) {
qq->breakHandler()->setAllPending();
} else if (q->startMode() == StartInternal || q->startMode() == StartExternal) {
m_gdbProc->attach(this);
if (m_gdbProc->isAdapter()) {
m_gdbAdapter->attach(this);
if (m_gdbAdapter->isAdapter()) {
qq->notifyInferiorRunningRequested();
postCommand(_("-exec-continue"), CB(handleExecContinue));
} else {
......@@ -2059,7 +2060,7 @@ void GdbEngine::sendInsertBreakpoint(int index)
// cmd += "-c " + data->condition + " ";
#else
QString cmd = _("-break-insert -f ");
if (m_gdbProc->isAdapter())
if (m_gdbAdapter->isAdapter())
cmd = _("-break-insert ");
//if (!data->condition.isEmpty())
// cmd += _("-c ") + data->condition + ' ';
......@@ -4238,10 +4239,23 @@ void GdbEngine::handleFetchDisassemblerByAddress0(const GdbResultRecord &record,
}
}
IDebuggerEngine *createGdbEngine(DebuggerManager *parent, QList<Core::IOptionsPage*> *opts)
IDebuggerEngine *createGdbEngine(DebuggerManager *parent,
QList<Core::IOptionsPage*> *opts)
{
opts->push_back(new GdbOptionsPage);
return new GdbEngine(parent, new GdbProcess);
return new GdbEngine(parent, new PlainGdbAdapter);
}
IDebuggerEngine *createSymbianEngine(DebuggerManager *parent,
QList<Core::IOptionsPage*> *opts)
{
Q_UNUSED(opts);
//opts->push_back(new GdbOptionsPage);
TrkGdbAdapter *adapter = new TrkGdbAdapter;
GdbEngine *engine = new GdbEngine(parent, adapter);
QObject::connect(adapter, SIGNAL(output(QString)),
parent, SLOT(showDebuggerOutput(QString)));
return engine;
}
} // namespace Internal
......
......@@ -33,7 +33,7 @@
#include "idebuggerengine.h"
#include "debuggermanager.h" // only for StartParameters
#include "gdbmi.h"
#include "gdbprocessbase.h"
#include "abstractgdbadapter.h"
#include "outputcollector.h"
#include "watchutils.h"
......@@ -75,11 +75,11 @@ enum DebuggingHelperState
DebuggingHelperUnavailable,
};
class GdbProcess : public GdbProcessBase
class PlainGdbAdapter : public AbstractGdbAdapter
{
public:
GdbProcess(QObject *parent = 0)
: GdbProcessBase(parent)
PlainGdbAdapter(QObject *parent = 0)
: AbstractGdbAdapter(parent)
{
connect(&m_proc, SIGNAL(error(QProcess::ProcessError)),
this, SIGNAL(error(QProcess::ProcessError)));
......@@ -118,7 +118,7 @@ class GdbEngine : public IDebuggerEngine
Q_OBJECT
public:
GdbEngine(DebuggerManager *parent, GdbProcessBase *gdbProc);
GdbEngine(DebuggerManager *parent, AbstractGdbAdapter *gdbAdapter);
~GdbEngine();
signals:
......@@ -127,8 +127,8 @@ signals:
void applicationOutputAvailable(const QString &output);
private:
friend class GdbProcess;
friend class SymbianAdapter;
friend class PlainGdbAdapter;
friend class TrkGdbAdapter;
const DebuggerStartParameters &startParameters() const
{ return m_startParameters; }
......@@ -299,7 +299,7 @@ private:
QByteArray m_inbuffer;
GdbProcessBase *m_gdbProc;
AbstractGdbAdapter *m_gdbAdapter;
QProcess m_uploadProc;
Core::Utils::ConsoleProcess m_stubProc;
......
/**************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** Commercial Usage
**
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Nokia.
**
** GNU Lesser General Public License Usage
**
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** If you are unsure which license is appropriate for your use, please
** contact the sales department at http://qt.nokia.com/contact.
**
**************************************************************************/
#define QT_NO_CAST_FROM_ASCII
#include "gdbengine.h"
#include "symbianadapter.h"
#include "debuggermanager.h"
//#include "debuggerdialogs.h"
#include <utils/qtcassert.h>
#include <texteditor/itexteditor.h>
#include <coreplugin/icore.h>
#include <coreplugin/dialogs/ioptionspage.h>
#include <QtCore/QDebug>
namespace Debugger {
namespace Internal {
IDebuggerEngine *createSymbianEngine(DebuggerManager *parent,
QList<Core::IOptionsPage*> *opts)
{
Q_UNUSED(opts);
//opts->push_back(new GdbOptionsPage);
SymbianAdapter *adapter = new SymbianAdapter;
GdbEngine *engine = new GdbEngine(parent, adapter);
QObject::connect(adapter, SIGNAL(output(QString)),
parent, SLOT(showDebuggerOutput(QString)));
return engine;
}
} // namespace Internal
} // namespace Debugger
......@@ -82,7 +82,7 @@ BOOL WINAPI TryReadFile(HANDLE hFile,
{
COMSTAT comStat;
if (!ClearCommError(hFile, NULL, &comStat)){
logMessage("ClearCommError() failed");
qDebug() << "ClearCommError() failed";
return FALSE;
}
if (comStat.cbInQue == 0) {
......
......@@ -27,12 +27,12 @@
**
**************************************************************************/
#include "symbianadapter.h"
#include "trkgdbadapter.h"
#ifndef STANDALONE_RUNNER
#include "gdbengine.h"
#endif
#define TrkCB(s) TrkCallback(this, &SymbianAdapter::s)
#define TrkCB(s) TrkCallback(this, &TrkGdbAdapter::s)
using namespace trk;
......@@ -69,7 +69,7 @@ namespace Internal {
trk::Endianness m_registerEndianness = LittleEndian;
SymbianAdapter::SymbianAdapter()
TrkGdbAdapter::TrkGdbAdapter()
{
m_running = false;
m_gdbAckMode = true;
......@@ -115,23 +115,23 @@ SymbianAdapter::SymbianAdapter()
this, SLOT(trkLogMessage(QString)));
}
SymbianAdapter::~SymbianAdapter()
TrkGdbAdapter::~TrkGdbAdapter()
{
m_gdbServer.close();
logMessage("Shutting down.\n");
}
void SymbianAdapter::trkLogMessage(const QString &msg)
void TrkGdbAdapter::trkLogMessage(const QString &msg)
{
logMessage("TRK " + msg);
}
void SymbianAdapter::setGdbServerName(const QString &name)
void TrkGdbAdapter::setGdbServerName(const QString &name)
{
m_gdbServerName = name;
}
QString SymbianAdapter::gdbServerIP() const
QString TrkGdbAdapter::gdbServerIP() const
{
int pos = m_gdbServerName.indexOf(':');
if (pos == -1)
......@@ -139,7 +139,7 @@ QString SymbianAdapter::gdbServerIP() const
return m_gdbServerName.left(pos);
}
uint SymbianAdapter::gdbServerPort() const
uint TrkGdbAdapter::gdbServerPort() const
{
int pos = m_gdbServerName.indexOf(':');
if (pos == -1)
......@@ -147,7 +147,7 @@ uint SymbianAdapter::gdbServerPort() const
return m_gdbServerName.mid(pos + 1).toUInt();
}
QByteArray SymbianAdapter::trkContinueMessage()
QByteArray TrkGdbAdapter::trkContinueMessage()
{
QByteArray ba;
appendInt(&ba, m_session.pid);
......@@ -155,7 +155,7 @@ QByteArray SymbianAdapter::trkContinueMessage()
return ba;
}
QByteArray SymbianAdapter::trkReadRegisterMessage()
QByteArray TrkGdbAdapter::trkReadRegisterMessage()
{
QByteArray ba;
appendByte(&ba, 0); // Register set, only 0 supported
......@@ -166,7 +166,7 @@ QByteArray SymbianAdapter::trkReadRegisterMessage()
return ba;
}
QByteArray SymbianAdapter::trkReadMemoryMessage(uint addr, uint len)
QByteArray TrkGdbAdapter::trkReadMemoryMessage(uint addr, uint len)
{
QByteArray ba;
appendByte(&ba, 0x08); // Options, FIXME: why?
......@@ -177,7 +177,7 @@ QByteArray SymbianAdapter::trkReadMemoryMessage(uint addr, uint len)
return ba;
}
void SymbianAdapter::startInferior()
void TrkGdbAdapter::startInferior()
{
QString errorMessage;
if (!m_trkDevice.open(m_rfcommDevice, &errorMessage)) {
......@@ -207,7 +207,7 @@ void SymbianAdapter::startInferior()
//sendTrkMessage(TRK_WRITE_QUEUE_NOOP_CODE, TrkCB(startGdbServer));
}
void SymbianAdapter::logMessage(const QString &msg)
void TrkGdbAdapter::logMessage(const QString &msg)
{
if (m_verbose)
emit output(msg);
......@@ -216,7 +216,7 @@ void SymbianAdapter::logMessage(const QString &msg)
//
// Gdb
//
void SymbianAdapter::handleGdbConnection()
void TrkGdbAdapter::handleGdbConnection()
{
logMessage("HANDLING GDB CONNECTION");
......@@ -232,7 +232,7 @@ static inline QString msgGdbPacket(const QString &p)
return QLatin1String("gdb: ") + p;
}
void SymbianAdapter::readGdbServerCommand()
void TrkGdbAdapter::readGdbServerCommand()
{
QByteArray packet = m_gdbConnection->readAll();
m_gdbReadBuffer.append(packet);
......@@ -299,7 +299,7 @@ void SymbianAdapter::readGdbServerCommand()
}
}
bool SymbianAdapter::sendGdbServerPacket(const QByteArray &packet, bool doFlush)
bool TrkGdbAdapter::sendGdbServerPacket(const QByteArray &packet, bool doFlush)
{
if (!m_gdbConnection) {
logMessage(QString::fromLatin1("Cannot write to gdb: No connection (%1)")
......@@ -321,7 +321,7 @@ bool SymbianAdapter::sendGdbServerPacket(const QByteArray &packet, bool doFlush)
return true;
}
void SymbianAdapter::sendGdbServerAck()
void TrkGdbAdapter::sendGdbServerAck()
{
if (!m_gdbAckMode)
return;
......@@ -330,7 +330,7 @@ void SymbianAdapter::sendGdbServerAck()
sendGdbServerPacket(packet, false);
}
void SymbianAdapter::sendGdbServerMessage(const QByteArray &msg, const QByteArray &logNote)
void TrkGdbAdapter::sendGdbServerMessage(const QByteArray &msg, const QByteArray &logNote)
{
byte sum = 0;
for (int i = 0; i != msg.size(); ++i)
......@@ -351,14 +351,14 @@ void SymbianAdapter::sendGdbServerMessage(const QByteArray &msg, const QByteArra
sendGdbServerPacket(packet, true);
}
void SymbianAdapter::sendGdbServerMessageAfterTrkResponse(const QByteArray &msg,
void TrkGdbAdapter::sendGdbServerMessageAfterTrkResponse(const QByteArray &msg,