diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2010-09-22 09:01:38 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2010-09-22 09:01:38 +0200 |
commit | 3b145f00fef8cf0a112410526559b37253f17798 (patch) | |
tree | c50c3fb415fbc1a7f1ab2468c50d3058d30d8bb5 /src | |
parent | aaf95f2838f1b4328c54bbe540371c450f239708 (diff) | |
download | qt-creator-3b145f00fef8cf0a112410526559b37253f17798.tar.gz |
Debugger: Small fixes
CDB: expand pointers correctly
Check for watchpoints at pointed to-addresses correctly.
Diffstat (limited to 'src')
-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: |