Debugger: Fixes around watch editing.

assignValueInDebugger: Pass on WatchData as well, pass
on values as QVariant. Based on that, do more extensive
checks in CDB, preventing assignment of non-PODs.

Locals/Watch editing:
* Disable while running
* Edit pointer values as hex with validation.

CDB: Strip class types off reported pointer values and reformat
the values as short 0x-pointer values, introduce flag to
WatchData::source to do dumper expansion handling.

Windows: recognize int64 as int.

Register handler: Fix accessing uninitialized value.
This commit is contained in:
Friedemann Kleint
2010-09-23 13:22:08 +02:00
parent d81d90a67a
commit 13c97d652e
24 changed files with 197 additions and 136 deletions

View File

@@ -54,7 +54,7 @@ public:
virtual void attemptBreakpointSynchronization();
virtual void selectThread(int index);
virtual void assignValueInDebugger(const QString &expr, const QString &value);
virtual void assignValueInDebugger(const Internal::WatchData *w, const QString &expr, const QVariant &value);
QAbstractItemModel *commandModel() const;
QAbstractItemModel *modulesModel() const;