From 5bd1d2a0284d90bda180a18f45d48018999fff9b Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 6 Jul 2009 17:36:50 +0200 Subject: 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 "" addresses, etc. - Pass on a "dumperVersion" in initial query. --- src/plugins/debugger/watchutils.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/plugins/debugger/watchutils.h') 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; // "" 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 children; }; @@ -242,6 +246,7 @@ private: QMap m_expressionCache; int m_qtVersion; + QString m_dumperVersion; QString m_qtNamespace; }; -- cgit v1.2.1