diff --git a/src/plugins/debugger/gdb/symbian.cpp b/src/plugins/debugger/gdb/symbian.cpp
index 3c7555e0a00ff363d3e4d60c91f2806e14ee733c..41935a80b5fdfb5d7fae856427aad91b8da796a5 100644
--- a/src/plugins/debugger/gdb/symbian.cpp
+++ b/src/plugins/debugger/gdb/symbian.cpp
@@ -203,14 +203,12 @@ Snapshot::Snapshot()
 
 void Snapshot::reset()
 {
+    MEMORY_DEBUG("RESET SNAPSHOT MEMORY INITIALLY: " << memory.size() << " BLOCK LEFT");
     for (Memory::Iterator it = memory.begin(); it != memory.end(); ) {
-        if (isReadOnly(it.key())) {
-            MEMORY_DEBUG("KEEPING READ-ONLY RANGE" << it.key());
-            ++it;
-        } else {
-            it = memory.erase(it);
-        }
+        MEMORY_DEBUG("EXAMINING " << it.key());
+        it = memory.erase(it);
     }
+    MEMORY_DEBUG("RESET SNAPSHOT MEMORY FINALLY: " << memory.size() << " BLOCK LEFT");
 
     const int threadCount = threadInfo.size();
     for (int i =0; i < threadCount; i++) {
@@ -466,7 +464,7 @@ QByteArray Snapshot::memoryReadLogMessage(uint addr, uint threadId, bool verbose
         logMsg += " length ";
         logMsg += QByteArray::number(ba.size());
         logMsg += " :";
-        logMsg += trk::stringFromArray(ba, 16).toAscii();
+        logMsg += trk::stringFromArray(ba, ba.size()).toAscii();
     }
     return logMsg;
 }
diff --git a/src/plugins/debugger/gdb/trkgdbadapter.cpp b/src/plugins/debugger/gdb/trkgdbadapter.cpp
index 95e5373f0e2b11c9319350a6a88785c238445507..32f6f16fb9962370d4b3341b031ea594c454aef8 100644
--- a/src/plugins/debugger/gdb/trkgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/trkgdbadapter.cpp
@@ -263,6 +263,7 @@ void TrkGdbAdapter::logMessage(const QString &msg, int logChannel)
 {
     if (m_verbose || logChannel != LogDebug)
         showMessage("TRK LOG: " + msg, logChannel);
+    MEMORY_DEBUG("GDB: " << msg);
 }
 
 //
@@ -946,7 +947,9 @@ void TrkGdbAdapter::handleTrkResult(const TrkResult &result)
         case TrkNotifyStopped: {  // 0x90 Notified Stopped
             // 90 01   78 6a 40 40   00 00 07 23   00 00 07 24  00 00
             showMessage(_("RESET SNAPSHOT (NOTIFY STOPPED)"));
+            MEMORY_DEBUG("WE STOPPED");
             m_snapshot.reset();
+            MEMORY_DEBUG("  AFTER CLEANING: " << m_snapshot.memory.size() << " BLOCKS LEFT");
             QString reason;
             uint addr;
             uint pid;
@@ -1212,6 +1215,7 @@ void TrkGdbAdapter::handleReadMemoryBuffered(const TrkResult &result)
     if (extractShort(result.data.data() + 1) + 3 != result.data.size())
         logMessage("\n BAD MEMORY RESULT: " + result.data.toHex() + "\n", LogError);
     const MemoryRange range = result.cookie.value<MemoryRange>();
+    MEMORY_DEBUG("HANDLE READ MEMORY ***BUFFERED*** FOR " << range);
     if (const int errorCode = result.errorCode()) {
         logMessage(_("TEMPORARY: ") + msgMemoryReadError(errorCode, range.from));
         logMessage(_("RETRYING UNBUFFERED"));
@@ -1221,6 +1225,7 @@ void TrkGdbAdapter::handleReadMemoryBuffered(const TrkResult &result)
         return;
     }
     const QByteArray ba = result.data.mid(3);
+    MEMORY_DEBUG("INSERT KNOWN MEMORY RANGE: " << range << m_snapshot.memory.size() << " BLOCKS");
     m_snapshot.insertMemory(range, ba);
     tryAnswerGdbMemoryRequest(true);
 }
@@ -1230,6 +1235,7 @@ void TrkGdbAdapter::handleReadMemoryUnbuffered(const TrkResult &result)
     if (extractShort(result.data.data() + 1) + 3 != result.data.size())
         logMessage("\n BAD MEMORY RESULT: " + result.data.toHex() + "\n", LogError);
     const MemoryRange range = result.cookie.value<MemoryRange>();
+    MEMORY_DEBUG("HANDLE READ MEMORY UNBUFFERED FOR " << range);
     if (const int errorCode = result.errorCode()) {
         logMessage(_("TEMPORARY: ") + msgMemoryReadError(errorCode, range.from));
         logMessage(_("RETRYING UNBUFFERED"));
@@ -1247,6 +1253,7 @@ void TrkGdbAdapter::handleReadMemoryUnbuffered(const TrkResult &result)
     }
     const QByteArray ba = result.data.mid(3);
     m_snapshot.insertMemory(range, ba);
+    MEMORY_DEBUG("INSERT KNOWN MEMORY RANGE: " << range << m_snapshot.memory.size() << " BLOCKS");
     tryAnswerGdbMemoryRequest(false);
 }
 
@@ -1310,10 +1317,10 @@ void TrkGdbAdapter::tryAnswerGdbMemoryRequest(bool buffered)
         int len = needed.to - needed.from;
         logMessage(_("Requesting unbuffered memory %1 bytes from 0x%2")
             .arg(len).arg(needed.from, 0, 16));
+        MEMORY_DEBUG("   FETCH UNBUFFERED MEMORY : " << needed);
         sendTrkMessage(0x10, TrkCB(handleReadMemoryUnbuffered),
             trkReadMemoryMessage(needed),
             QVariant::fromValue(needed));
-        MEMORY_DEBUG("   FETCH UNBUFFERED MEMORY : " << needed);
     }
 }
 
diff --git a/src/shared/symbianutils/trkdevice.cpp b/src/shared/symbianutils/trkdevice.cpp
index e0f29531a44e64624f37fee850d5f95720abada7..f1d52ec2184fe06047d41c5283f8821d329f4bb4 100644
--- a/src/shared/symbianutils/trkdevice.cpp
+++ b/src/shared/symbianutils/trkdevice.cpp
@@ -1091,7 +1091,7 @@ void TrkDevice::slotMessageReceived(const trk::TrkResult &result, const QByteArr
     if (isOpen()) { // Might receive bytes after closing due to queued connections.
         d->writerThread->slotHandleResult(result);
         if (d->verbose > 1)
-            qDebug() << "Received: " << result.toString();
+            qDebug() << "TRK DEVICE Received: " << result.toString();
         emit messageReceived(result);
         if (!rawData.isEmpty())
             emit rawDataReceived(rawData);