diff --git a/src/plugins/debugger/debuggeractions.cpp b/src/plugins/debugger/debuggeractions.cpp index f4922e4ab2a98f52865f80465c4e2b59cd0c5972..57bbe853bf1cb9cf1bb3d8289ec939d7ab00c673 100644 --- a/src/plugins/debugger/debuggeractions.cpp +++ b/src/plugins/debugger/debuggeractions.cpp @@ -151,6 +151,13 @@ DebuggerSettings *DebuggerSettings::instance() item->setDefaultValue(false); instance->insertItem(LogTimeStamps, item); + item = new SavedAction(instance); + item->setText(tr("Verbose Log")); + item->setSettingsKey(debugModeGroup, QLatin1String("VerboseLog")); + item->setCheckable(true); + item->setDefaultValue(false); + instance->insertItem(VerboseLog, item); + item = new SavedAction(instance); item->setText(tr("Operate by instruction")); item->setCheckable(true); diff --git a/src/plugins/debugger/debuggeractions.h b/src/plugins/debugger/debuggeractions.h index cfa43c39238b4466b672e888c7b136d5619f5fe4..b8519994b70f079e32d2e08d2456097c7a01a83a 100644 --- a/src/plugins/debugger/debuggeractions.h +++ b/src/plugins/debugger/debuggeractions.h @@ -77,6 +77,7 @@ enum DebuggerActionCode AutoQuit, LockView, LogTimeStamps, + VerboseLog, OperateByInstruction, AutoDerefPointers, diff --git a/src/plugins/debugger/debuggeroutputwindow.cpp b/src/plugins/debugger/debuggeroutputwindow.cpp index cbca456c8e7e1727eebf102e698fd46afbb13ced..981045be168b1489878d3fa087bd65ff67a89122 100644 --- a/src/plugins/debugger/debuggeroutputwindow.cpp +++ b/src/plugins/debugger/debuggeroutputwindow.cpp @@ -172,6 +172,7 @@ public: theDebuggerAction(ExecuteCommand)->setData(textCursor().block().text()); menu->addAction(theDebuggerAction(ExecuteCommand)); menu->addAction(theDebuggerAction(LogTimeStamps)); + menu->addAction(theDebuggerAction(VerboseLog)); menu->addSeparator(); menu->addAction(theDebuggerAction(SettingsDialog)); menu->exec(ev->globalPos()); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 9ba2e68083fa0a5ed59178883fc770ebe8b5fb53..f65a4c6e5d6aee8abba1fd7189eeefded7512f0d 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -367,6 +367,7 @@ QWidget *CommonOptionsPage::createPage(QWidget *parent) m_group.insert(theDebuggerAction(ShowStdNamespace), 0); m_group.insert(theDebuggerAction(ShowQtNamespace), 0); m_group.insert(theDebuggerAction(LogTimeStamps), 0); + m_group.insert(theDebuggerAction(VerboseLog), 0); m_group.insert(theDebuggerAction(UsePreciseBreakpoints), 0); #ifdef USE_REVERSE_DEBUGGING diff --git a/src/plugins/debugger/gdb/trkgdbadapter.cpp b/src/plugins/debugger/gdb/trkgdbadapter.cpp index 8a7e74a7f2a507555d41b1b5fc1c814249a759a7..49dd70150a64148a2cd772de95a213ba7c332268 100644 --- a/src/plugins/debugger/gdb/trkgdbadapter.cpp +++ b/src/plugins/debugger/gdb/trkgdbadapter.cpp @@ -33,6 +33,7 @@ #include "s60debuggerbluetoothstarter.h" #include "bluetoothlistener_gui.h" +#include "debuggeractions.h" #include "debuggerstringutils.h" #ifndef STANDALONE_RUNNER #include "gdbengine.h" @@ -212,14 +213,6 @@ TrkGdbAdapter::TrkGdbAdapter(GdbEngine *engine, const TrkOptionsPtr &options) : m_bufferedMemoryRead = false; m_bufferedMemoryRead = true; - const QByteArray trkVerbose = qgetenv("QTC_TRK_VERBOSE"); - if (!trkVerbose.isEmpty()) { - bool ok; - m_verbose = trkVerbose.toInt(&ok); - if (!ok) - m_verbose = 1; - } - m_gdbServer = 0; m_gdbConnection = 0; m_snapshot.reset(); @@ -235,11 +228,13 @@ TrkGdbAdapter::TrkGdbAdapter(GdbEngine *engine, const TrkOptionsPtr &options) : connect(m_trkDevice.data(), SIGNAL(error(QString)), this, SLOT(handleTrkError(QString))); - m_trkDevice->setVerbose(m_verbose); + setVerbose(theDebuggerBoolSetting(VerboseLog)); m_trkDevice->setSerialFrame(effectiveTrkDeviceType() != TrkOptions::BlueTooth); connect(m_trkDevice.data(), SIGNAL(logMessage(QString)), this, SLOT(trkLogMessage(QString))); + connect(theDebuggerAction(VerboseLog), SIGNAL(valueChanged(QVariant)), + this, SLOT(setVerbose(QVariant))); } TrkGdbAdapter::~TrkGdbAdapter() @@ -248,6 +243,17 @@ TrkGdbAdapter::~TrkGdbAdapter() logMessage("Shutting down.\n"); } +void TrkGdbAdapter::setVerbose(const QVariant &value) +{ + setVerbose(value.toInt()); +} + +void TrkGdbAdapter::setVerbose(int verbose) +{ + m_verbose = verbose; + m_trkDevice->setVerbose(m_verbose); +} + QString TrkGdbAdapter::effectiveTrkDevice() const { if (!m_overrideTrkDevice.isEmpty()) diff --git a/src/plugins/debugger/gdb/trkgdbadapter.h b/src/plugins/debugger/gdb/trkgdbadapter.h index edf9e8a9b299892a89e1d85df1c877f71bc30372..7ef9ac4f4426355967c059b365e288a3fd445c3e 100644 --- a/src/plugins/debugger/gdb/trkgdbadapter.h +++ b/src/plugins/debugger/gdb/trkgdbadapter.h @@ -140,7 +140,8 @@ public: QString gdbServerName() const { return m_gdbServerName; } QString gdbServerIP() const; uint gdbServerPort() const; - void setVerbose(int verbose) { m_verbose = verbose; } + Q_SLOT void setVerbose(const QVariant &value); + void setVerbose(int verbose); void setBufferedMemoryRead(bool b) { m_bufferedMemoryRead = b; } trk::Session &session() { return m_session; } diff --git a/src/shared/trk/trkdevice.cpp b/src/shared/trk/trkdevice.cpp index 0815ef4dcd7c60636f722f6ec381b14edba0fab5..0da1a79d027db5668c22a9a6c26142c6b57aff4a 100644 --- a/src/shared/trk/trkdevice.cpp +++ b/src/shared/trk/trkdevice.cpp @@ -1031,7 +1031,7 @@ void TrkDevice::setVerbose(int b) void TrkDevice::slotMessageReceived(const trk::TrkResult &result, const QByteArray &rawData) { d->writerThread->slotHandleResult(result); - if (d->verbose) + if (d->verbose > 1) qDebug() << "Received: " << result.toString(); emit messageReceived(result); if (!rawData.isEmpty())