Commit Graph

462 Commits

Author SHA1 Message Date
hjk
2a28741f90 debugger: str(p) is unsafe to use for invalid char * 2010-01-05 16:48:11 +01:00
hjk
46c114e895 debugger: assume valid ref counts are always smaller than 1 million 2010-01-04 14:14:14 +01:00
hjk
b0fb396dc9 debugger: don't issue 'name' field twice for watched items 2010-01-04 13:48:44 +01:00
hjk
9ad447b8a4 debugger: make gdb-6.8-symbianelf work 2010-01-04 13:16:46 +01:00
hjk
7fed0f0626 debugger: introduce optional 'max children' argument to Dumper.beginChildren
saves a few lines in the dumper implementations for the 'putEllipses' logic.
2009-12-15 09:39:22 +01:00
hjk
66db60e0fe debugger: replace xrange(0, end) by xrange(end). 2009-12-11 13:25:30 +01:00
hjk
68bd4d2b95 debugger: refactor the dumper class to make it work with gdb 7.0
This is an attempt to make it work with released gdb 7.0. It uses some
ugly workarounds to compensate for the missing gdb.Block and gdb.Symbol
structures.
2009-12-09 13:51:17 +01:00
hjk
d92f8b80ca debugger: work on QImage dumper 2009-12-08 17:46:53 +01:00
hjk
4794cbf030 debugger: rename 'magic' prefix for custom dumper from qqDump to qdump__
It is nicer in the presence of namespaces as '::' will be replaced by '__'
to create the dumper function names.
2009-12-07 12:07:10 +01:00
hjk
d2ab8762e9 debugger: special handling of char *argv[] in l&w
It's nicer this way.
2009-12-07 11:28:47 +01:00
hjk
b08a349da9 debugger: allow user defines ranges of watch items 2009-12-04 18:16:16 +01:00
hjk
ecb0df0cb5 debugger: work on "watchers" for use with new dumpers 2009-12-04 17:08:35 +01:00
hjk
ef9db9cf79 debugger: make 'watch' item work with new dumpers 2009-12-04 13:22:59 +01:00
hjk
f2842d07d5 debugger: fix new dumpers in the context of base class types containing
spaces in its string representation
2009-12-04 13:22:59 +01:00
hjk
71c3d0977b debugger: try make custom dumpers more "user friendly"
Introduce Dumper.put{Value,Name,StringValue,ByteArrayValue} functions.
No need for explicit specification of valueencoding in user code.
2009-12-03 14:12:54 +01:00
hjk
534d91859f debugger: auto-deref all pointers when new dumpers 2009-12-03 14:00:01 +01:00
hjk
7c5c69f6ac debugger: various changes to new dumper
- add an 'informative' mode, similar to old dumper's 'protocol 1'
- remove some hard coded names for std container dumpers
- use safePutItemHelper instead of putItemHelper in most places
2009-12-03 14:00:01 +01:00
hjk
fdbecf93c0 debugger: remove some hard coded typenames for std container dumpers to "user land" 2009-12-02 14:12:12 +01:00
hjk
4e29b16f92 debugger: work on new dumpers
more robustness in case qt's namespace cannot be determined
work on qvariant dumper
2009-12-01 17:11:20 +01:00
hjk
ebff16f8b1 debugger: fix dumper for QString::isNull() 2009-12-01 17:11:09 +01:00
Friedemann Kleint
f2e77fb8fd Dumpers: Dump QFileInfo 2009-12-01 12:00:47 +01:00
hjk
dd71d9a593 debugger: fix more cases of .. if ... else .. 2009-11-27 14:11:36 +01:00
hjk
a1e130471e debugger: take care of antediluvian distributions 2009-11-27 13:53:46 +01:00
hjk
94581fc6e3 add some meat 2009-11-26 15:11:59 +01:00
hjk
e2cfc0958e debugger: mark 'Null' QStrings() in pretty-printers 2009-11-20 10:11:21 +01:00
hjk
80a112f677 debugger: make QVariant dumper compile with QT_NO_SHORTCUT 2009-11-12 09:25:42 +01:00
hjk
5eadf2bef7 debugger: simplify QList dumper 2009-11-06 10:15:19 +01:00
hjk
c91aca64e6 debugger: fix item count for QLists with more than 1000 elements
Reviewed-by: Oswald Buddenhagen
2009-11-04 18:31:27 +01:00
Oswald Buddenhagen
36a4fddaf0 less confusing: use the data type which was meant 2009-10-30 17:47:51 +01:00
Oswald Buddenhagen
2eade14143 remove superfluous casts 2009-10-30 17:47:51 +01:00
Friedemann Kleint
0b37be6e22 Debugger: Completely replace C99 uintptr_t type by quintptr. 2009-10-30 09:16:27 +01:00
Friedemann Kleint
09f77930bc Debugger: Do not use C99 types for pointers in sprintf() formats.
Pointer fit into long or long long (Win64).
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2009-10-29 15:13:49 +01:00
hjk
9d4b70053a debugger: allow NULL pointers in QList<Foo*> 2009-10-28 11:50:39 +01:00
Friedemann Kleint
6d9288118f Debugger: Add missing include for intptr-types. 2009-10-28 09:51:19 +01:00
hjk
695201b02d debugger: allow NULL pointers in QVector<Foo*> and QStack<Foo*> dumpers 2009-10-27 16:35:39 +01:00
Friedemann Kleint
65e13b7034 Debugger: Fix autotests on Windows
Format pointers consistently using 0x%[l]x in printf/scanf.
Remove %p formatting as the existence of the prefix 0x
is platform-dependent (missing with MSVC), which caused
a scanf error and thus dumper crash for QAbstractItem.
Reviewed-by: ck <qt-info@nokia.com>
2009-10-27 12:25:11 +01:00
Friedemann Kleint
3fd1e5b23f Debugger: Fix exit crash, dump QVariantList with gdb
Handle QVariantList within dumpers, as gdb does not resolve
typedefs. Disconnect the gdb process on exit, one more round
of event loop when quitting.
2009-10-27 09:51:14 +01:00
hjk
fc512f716d some forgotten license header changes. also, use Nokia instead of Trolltech. 2009-10-26 12:09:35 +01:00
hjk
a06b3c15c8 debugger: remove two unused variables 2009-10-21 16:41:28 +02:00
Friedemann Kleint
82f47372c3 CDB: Add consistency checks to dumpers that avoid iterator asserts.
_HAS_ITERATOR_DEBUGGING asserts can cause the debugger to be in an
inconsistent state and should thus be avoided. Add checks on the
underlying red/black tree structures using friend helper classes.
2009-10-20 16:34:37 +02:00
Friedemann Kleint
aa89317731 Fix compiler warnings in dumper tests. 2009-10-19 16:46:59 +02:00
Friedemann Kleint
9e10e11c9c CDB: Add further checking to avoid invalid set asserts.
Clear a failed call. _HAS_ITERATOR_DEBUGGING can unfortunately
not be turned off as it is not binary compatible with other code.
2009-10-19 16:44:07 +02:00
hjk
c79476e72f debbugger: fix item counts > 1000 in QVector dumper 2009-10-16 14:40:44 +02:00
ck
4ead5b7202 Debugger: Dumper fix.
- If NSX and NSY have quotes for the QT_NAMESPACE case, they need them
  for the non-namespace case too.
- Dumper autotest: Replace hard-coded namespace with compile-time
  dynamic one.
2009-10-14 12:59:39 +02:00
Friedemann Kleint
744febe01a Debugger/Dumpers: Perform checks on QList/QVector<RawPointer>.
Reviewed-by: hjk <qtc-committer@nokia.com>
2009-10-13 12:35:47 +02:00
Friedemann Kleint
8266c366a3 CDB: Make use of the improved debugger expression syntax
CDB can now handle sizeof(Class) and even expressions that
determine the offset of map node values (to some extent), may still
fail with templates). Format expressions accordingly, adapt
cached expressions.
Use gdbQuoteType depending on debugger type only.
Most important, do not evaluate each expression separately before
issuing the call, as ".call" can now do it on its own. Check for syntax
errors there and cache failing types as before.
2009-10-09 14:11:05 +02:00
Friedemann Kleint
1fad39c923 CDB: Fix dumper regression
- Do not deref d-ptr when checking on QVariants of PODS
- Make type/value fixing of dumper results more fine-grained
- Allow children in expandPtrToDumpage (QWidget-Pointers)
- Fix broken size cache (queuePrefix was empty)
- Compile
2009-10-02 15:17:50 +02:00
Sergey Belyashov
f0a30f4a9b Next try to fix pointer aliasing issue
Merge-request: 1562
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2009-09-29 19:07:45 +02:00
Friedemann Kleint
0bcbab862e Dumper: More tests 2009-09-21 15:56:40 +02:00
Friedemann Kleint
caa164a4ab CDB: Use GdbMi parser for everything.
..preparing recursive dumpers. Add recursive parser to
watchutils.cpp Use insertBulkData() within CDB, add sizeof()
information for some Qt containers in order to be able to
dump QList<QList<KnownType> > .
2009-09-21 14:55:39 +02:00