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.
Showing
- share/qtcreator/gdbmacros/gdbmacros.cpp 420 additions, 226 deletionsshare/qtcreator/gdbmacros/gdbmacros.cpp
- share/qtcreator/gdbmacros/test/dumpertest.pro 0 additions, 2 deletionsshare/qtcreator/gdbmacros/test/dumpertest.pro
- share/qtcreator/gdbmacros/test/main.cpp 120 additions, 53 deletionsshare/qtcreator/gdbmacros/test/main.cpp
- src/plugins/debugger/cdb/cdbdumperhelper.cpp 4 additions, 0 deletionssrc/plugins/debugger/cdb/cdbdumperhelper.cpp
- src/plugins/debugger/cdb/cdbstackframecontext.cpp 47 additions, 3 deletionssrc/plugins/debugger/cdb/cdbstackframecontext.cpp
- src/plugins/debugger/gdb/gdbengine.cpp 18 additions, 6 deletionssrc/plugins/debugger/gdb/gdbengine.cpp
- src/plugins/debugger/watchhandler.cpp 3 additions, 0 deletionssrc/plugins/debugger/watchhandler.cpp
- src/plugins/debugger/watchutils.cpp 124 additions, 68 deletionssrc/plugins/debugger/watchutils.cpp
- src/plugins/debugger/watchutils.h 5 additions, 0 deletionssrc/plugins/debugger/watchutils.h
Loading
Please register or sign in to comment