diff options
-rw-r--r-- | src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp | 5 | ||||
-rw-r--r-- | src/plugins/debugger/watchhandler.cpp | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp b/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp index f656e71e36..c0a9cf8873 100644 --- a/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp +++ b/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp @@ -230,7 +230,10 @@ bool WatchHandleDumperInserter::expandPointerToDumpable(const WatchData &wd, QSt const int classPos = wd.value.indexOf(" class "); if (classPos == -1) break; - const QString hexAddrS = wd.value.mid(0, classPos); + // Fix CDB word separator '0x00000000`0012fe10'. + QString hexAddrS = wd.value.mid(0, classPos); + if (hexAddrS.size() > 11 && hexAddrS.at(10) == QLatin1Char('`')) + hexAddrS.remove(10, 1); if (m_hexNullPattern.exactMatch(hexAddrS)) break; const QByteArray type = stripPointerType(wd.type); diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index f5735b4b06..c28c100956 100644 --- a/src/plugins/debugger/watchhandler.cpp +++ b/src/plugins/debugger/watchhandler.cpp @@ -733,7 +733,7 @@ QVariant WatchModel::data(const QModelIndex &idx, int role) const case LocalsIsWatchpointAtPointerValueRole: if (isPointerType(data.type)) return engine()->breakHandler() - ->watchPointAt(pointerValue(data.addr)); + ->watchPointAt(pointerValue(data.value)); return false; default: |