diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2009-07-06 17:36:50 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2009-07-06 17:36:50 +0200 |
commit | 5bd1d2a0284d90bda180a18f45d48018999fff9b (patch) | |
tree | d7cc5705c937374879610838bd9952129101d904 /src/plugins/debugger/watchutils.h | |
parent | 45448ce5d51c9b33d2e02c24d9bd3b52526caf16 (diff) | |
download | qt-creator-5bd1d2a0284d90bda180a18f45d48018999fff9b.tar.gz |
Fix up Debugger helpers to be able to dump QObject's with CDB.
- Make container dumper routines set "childnumchild" when known
in order to avoid roundtrips; avoid repeated invocations of
container.end().
- Completed dumper information in some places to avoid roundtrips.
- Extended QVariant helpers by dumpers for common GUI types
(rectangles, points, sizes, fonts, size policies).
- Introduced artificial QObjectChildList/QObjectProperty types to
be able to dump QObject children and properties without using
gdb expressions.
- Fixed dumping of Signal/Slot list to pass on correct types. Avoid
recursions if signal is connected to self.
- Replaced expressions by addresses in the dumpers to it make work
for CDB.
- Reworked dumper test program to have -a, making it usable for tests,
add further types.
- Gdb: Clear output buffer before calling dumpers, avoiding mixups
in case evaluation of expression fails.
- Fix the dumper parser used by CDB, do not be fooled by
"<synthetic>" addresses, etc.
- Pass on a "dumperVersion" in initial query.
Diffstat (limited to 'src/plugins/debugger/watchutils.h')
-rw-r--r-- | src/plugins/debugger/watchutils.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/debugger/watchutils.h b/src/plugins/debugger/watchutils.h index 9d39372aa0..d1d9b05215 100644 --- a/src/plugins/debugger/watchutils.h +++ b/src/plugins/debugger/watchutils.h @@ -99,6 +99,7 @@ struct QtDumperResult QString exp; QString type; QByteArray key; + bool valueEncountered; QByteArray value; }; @@ -108,15 +109,18 @@ struct QtDumperResult QString iname; QString address; + QString addressInfo; // "<synthetic>" or such, in the 2nd adress field. QString type; QString extra; QString displayedType; + bool valueEncountered; QByteArray value; int valueEncoded; bool valuedisabled; int childCount; bool internal; QString childType; + int childChildCount; QList <Child> children; }; @@ -242,6 +246,7 @@ private: QMap<QString, QString> m_expressionCache; int m_qtVersion; + QString m_dumperVersion; QString m_qtNamespace; }; |