diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/debugger/gdb/trkgdbadapter.cpp | 2 | ||||
| -rw-r--r-- | src/shared/trk/trkutils.cpp | 7 | ||||
| -rw-r--r-- | src/shared/trk/trkutils.h | 2 |
3 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/debugger/gdb/trkgdbadapter.cpp b/src/plugins/debugger/gdb/trkgdbadapter.cpp index ec3be58e40..971a602741 100644 --- a/src/plugins/debugger/gdb/trkgdbadapter.cpp +++ b/src/plugins/debugger/gdb/trkgdbadapter.cpp @@ -1200,6 +1200,7 @@ void TrkGdbAdapter::handleReadMemoryUnbuffered(const TrkResult &result) void TrkGdbAdapter::handleStepInto(const TrkResult &result) { + m_snapshot.reset(); if (result.errorCode()) { logMessage("ERROR: " + result.errorString() + " in handleStepInto"); // Try fallback with Step Over @@ -1225,6 +1226,7 @@ void TrkGdbAdapter::handleStepInto2(const TrkResult &result) void TrkGdbAdapter::handleStepOver(const TrkResult &result) { + m_snapshot.reset(); if (result.errorCode()) { logMessage("ERROR: " + result.errorString() + "in handleStepOver"); // Try fallback with Step Into diff --git a/src/shared/trk/trkutils.cpp b/src/shared/trk/trkutils.cpp index a45084bb8c..e40944a66c 100644 --- a/src/shared/trk/trkutils.cpp +++ b/src/shared/trk/trkutils.cpp @@ -362,5 +362,12 @@ QString TrkResult::errorString() const return errorMessage(data.at(0)); } +void Snapshot::reset() +{ + memory.clear(); + for (int i = 0; i < RegisterCount; ++i) + registers[i] = 0; +} + } // namespace trk diff --git a/src/shared/trk/trkutils.h b/src/shared/trk/trkutils.h index 6f1b280eb8..3bc2ed8de7 100644 --- a/src/shared/trk/trkutils.h +++ b/src/shared/trk/trkutils.h @@ -153,6 +153,8 @@ struct Session struct Snapshot { + void reset(); + uint registers[RegisterCount]; typedef QHash<uint, QByteArray> Memory; Memory memory; |
