summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <qtc-committer@nokia.com>2010-01-15 15:06:03 +0100
committercon <qtc-committer@nokia.com>2010-01-15 17:36:11 +0100
commiteb2317543d2e04f0aad379e892ca2962d4ccf57a (patch)
treedaa7583ccd222acab42166e218057b62ecb60326
parent9e2a93d7f6d375d9cc2946c26844170c9b2642d7 (diff)
downloadqt-creator-eb2317543d2e04f0aad379e892ca2962d4ccf57a.tar.gz
debugger: combine memory blocks more aggressively
(cherry picked from commit 85b39966bc612b62a658edcb3e5b27acc5ad8687) (cherry picked from commit 81977e2d3dcbbcb21823342aa413745bec3dc1fb)
-rw-r--r--src/plugins/debugger/gdb/trkgdbadapter.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/plugins/debugger/gdb/trkgdbadapter.cpp b/src/plugins/debugger/gdb/trkgdbadapter.cpp
index 94cb4a1880..d56d851699 100644
--- a/src/plugins/debugger/gdb/trkgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/trkgdbadapter.cpp
@@ -166,8 +166,8 @@ void Snapshot::insertMemory(const MemoryRange &range, const QByteArray &ba)
data.append(ba);
const MemoryRange res(it.key().from, range.to);
memory.remove(it.key());
- memory.insert(res, data);
MEMORY_DEBUG(" TO(1) " << res);
+ insertMemory(res, data);
return;
}
if (it.key().from == range.to) {
@@ -176,8 +176,8 @@ void Snapshot::insertMemory(const MemoryRange &range, const QByteArray &ba)
data.append(*it);
const MemoryRange res(range.from, it.key().to);
memory.remove(it.key());
- memory.insert(res, data);
MEMORY_DEBUG(" TO(2) " << res);
+ insertMemory(res, data);
return;
}
}
@@ -1330,6 +1330,16 @@ void TrkGdbAdapter::tryAnswerGdbMemoryRequest(bool buffered)
}
// Happens when chunks are not comnbined
QTC_ASSERT(false, /**/);
+ debugMessage("CHUNKS NOT COMBINED");
+ #ifdef MEMORY_DEBUG
+ qDebug() << "CHUNKS NOT COMBINED";
+ it = m_snapshot.memory.begin();
+ et = m_snapshot.memory.end();
+ for ( ; it != et; ++it)
+ qDebug() << it.key().from << it.key().to;
+ qDebug() << "WANTED" << wanted.from << wanted.to;
+ #endif
+ sendGdbServerMessage("E22", "");
return;
}