Commit Graph

69 Commits

Author SHA1 Message Date
hjk
9a8ac49c2c debugger: new files for WatchData; move potentially shared code to watchutils.cpp 2010-04-27 15:33:22 +02:00
hjk
59af793953 debugger: polish address display. also remove the mostly unused 'stored' address 2010-03-23 14:48:32 +01:00
Friedemann Kleint
083988b2c9 Debugger[CDB]: Fixes for Debugging Tools for Windows 6.12
Handle the new version's formatting of integer types as '0n...'.
List shorts as int-types.
2010-03-23 14:00:56 +01:00
hjk
463ac5d689 debugger: start reviving graphical data display 2010-03-15 12:12:43 +01:00
hjk
c8a61cc8f2 debugger: implement selected of string encoding per pointer type/individual pointer 2010-03-11 18:56:28 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
hjk
ed4278aba3 debugger: fix new wstring dumper encoding 2010-03-05 11:11:20 +01:00
Friedemann Kleint
2fd8b2d7ff Fix some code scanning issues.
QString: Use QChar where appropriate.
2010-02-01 12:43:56 +01:00
Oswald Buddenhagen
75b42f18d8 Merge remote branch 'origin/1.3'
Trailing whitespace removal re-applied manually.
2010-01-29 22:50:23 +01:00
Oswald Buddenhagen
a6ca348636 remove trailing whitespace
doing it in 1.3 as well to avoid possible later conflicts
2010-01-29 21:33:57 +01:00
hjk
e3712f9687 debugger: refactoring, use QByteArray instead of QString when appropriate 2010-01-05 18:13:24 +01:00
hjk
32d3db8200 debugger: special handling for char* 2009-12-07 12:07:10 +01:00
Roberto Raggi
14376c3c32 Initial work on the new CPlusPlus::Snapshot.
Encapsulate the details.
2009-12-07 10:54:27 +01:00
Oswald Buddenhagen
9c66c06820 mi parser: don't construct dummy tuples, but parse lists directly 2009-11-30 15:55:11 +01:00
Friedemann Kleint
2b23ea2a8a Debugger/CDB: Windows 64 integer handling.
Convert CDB unsigned integer values should they appear in hex,
make format flexible.
Use int64 for reformatting integers to be able to accommodate
64 bit values on Windows 64. Add some more integer types.
Do not save decimal type formats. Add menu option to clear
individual formatting. Do not use map[] to query the type formats
(inserting 0 everywhere as a side effect).

Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2009-11-25 16:32:44 +01:00
Oswald Buddenhagen
293b49aecb improve messages 2009-10-26 21:24:44 +01:00
hjk
338f945ca1 debugger: more autotests 2009-10-21 16:41:29 +02:00
Friedemann Kleint
f240ceb4e6 CDB: Fix code model scope detection when stopping at function scope.
that is, setting a break point at the opening brace or at function.
Set StackFrame::from correctly.
2009-10-19 10:59:46 +02:00
Friedemann Kleint
25ee70bb24 Debugger: Use the code model to detect unitialized variables.
This should save debugger round trips and crashes in the debugging
helpers.
Add respective option to debugging helper option page, defaulting to
true.On this occasion, make CDB detect shadowed variables correctly
and display them as "<shadowed n>" as does the Gdb engine by
reversing the direction in which
CdbSymbolGroupContext::populateINameIndexMap works.
Rubber-stamped-by: hjk <qtc-committer@nokia.com>
2009-10-16 16:26:28 +02:00
hjk
73aa3e2164 debugger: make parsing of new dumper outpuit a bit more robust 2009-10-16 11:13:19 +02:00
hjk
e1c8bb407f debugger: move adding the double quotes for valueencoding==7 to the host side 2009-10-16 11:13:19 +02:00
Friedemann Kleint
0c945597db Debugger: Remove obsolete code. 2009-10-14 14:18:18 +02:00
hjk
264463283a debugger: remove debug output 2009-10-12 16:38:02 +02:00
hjk
982347dda5 debugger: provide support for .toHex() encoded string data.
more verbose than base64 but also less work on the dumper side
2009-10-12 14:51:22 +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
22ab8d5662 Debugger: Do configuration error checking early on.
Add a configuration checking method to the Debugger manager,
depending on toolchain, wire it to the engines.
Check that in the debugger run controls.

Add a convenience method to ICore that shows a warning
message with a "Settings" button, pointing the user
to a configuration error on a settings page.

Remove leftovers of the dumper parser.
Acked-by: con <qtc-committer@nokia.com>
2009-10-08 17:23:27 +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
Friedemann Kleint
74a3828f19 Purge out include files in exported headers 2009-10-01 16:38:08 +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
Friedemann Kleint
603630fad6 Debugger: Use Gdbmi parser in CDB for parsing of protocol 1
Change dumper protocol 1 output not to contain type names as
hash keys (might contain blanks), use lists instead.
Start fixing autotests for 4.6.
2009-09-18 16:55:17 +02:00
hjk
33271f0be7 debugger: disable some debug output again; also make more type known as 'simple
integral'
2009-09-16 14:12:40 +02:00
hjk
91e60257cd debugger: special handling for Symbian TInt and TBool.
We know they don't have nested contents
2009-09-16 11:10:59 +02:00
hjk
452f108ac7 debugger: fixes and improvements related to the Locals display
Split the concepts 'enabled' and 'editable' in the dumper output
Disable "<not in scope>" entries, also fix their type.
Fix glitch in type beautification for display
Find reason for failing bulk updates.
2009-08-31 16:05:55 +02:00
hjk
9a5908bf8c debugger: small improvements to dumpers
Add a dumper for QStack. Also don't crash when accessing an uninitialized
pointer when the pointer looks bad to begin with.
2009-08-28 10:42:55 +02:00
hjk
72164f3615 debugger: adjust 'skip known frames' to changes in Qt 4.6 2009-08-20 12:05:59 +02:00
hjk
93cbef8724 long live the king 2009-08-14 09:30:56 +02:00
Friedemann Kleint
894febbadf Debugger: Make use of the "displayedtype" attribute.
Fix "displayedtype" in CDB, display it elsewhere.
Log debugger settings in DebuggerManager startup.
Acked-by: hjk <qtc-committer@nokia.com>
2009-08-12 11:21:44 +02:00
Friedemann Kleint
8b8bf42fbb CDB: Fixed thread handling, added dumping of string types in case of crashes. 2009-07-24 16:05:46 +02:00
Friedemann Kleint
562b417036 Debugger: Remove unneeded expression for dumping QVector.
...thus enabling dumping of it in CDB.
Reviewed-by: hjk <qtc-committer@nokia.com>
2009-07-16 12:09:24 +02:00
Friedemann Kleint
7a847df2b7 Fix CDB/output dumperversion correctly, dump maps correctly. 2009-07-15 16:07:57 +02:00
hjk
4bf3d32f61 debugger: assume that not-known-to-be-simple types have children
This might lead to false positives in corner cases like empty structures
but speed up the display of arrays and lists of user-defined types a lot.
2009-07-14 11:23:32 +02:00
hjk
56a81a06b5 debugger: fix regression in QMap dumping introduced in 5bd1d2a0 2009-07-14 10:08:12 +02:00
hjk
ad46f1286f Revert "Enabled the use of Debugger-specific watch/locals models."
This reverts commit abf5e3ddc3.
2009-07-13 09:11:07 +02:00
Friedemann Kleint
abf5e3ddc3 Enabled the use of Debugger-specific watch/locals models.
- Modified WatchModel to handle storage of an hierarchy
  of WatchItems.
- Factored out code for asynchronous population to
  AsyncWatchModel and added a mixin for convenient
  handling
- Added base class for synchronous models.
- Implement simple, synchronous models for CDB, greatly
  simplifying code and finally getting manual
  expansion right.
Signed-off-by: hjk <qtc-committer@nokia.com>
2009-07-10 14:36:28 +02:00
hjk
717ae824ce debugger: fix regression in QVector dumper
Was broken due to a change in the QVector implementation (See 343e848abc1 and
a07385de156 in Qt master)
2009-07-10 09:50:51 +02:00
Friedemann Kleint
7b15d12300 Dumper fixing, dump some common std::map, std::set types with CDB.
- std::set/map: Introduce templates to iterate the MSVC STL
  implementation depending on type (since it inherits some
  basic set_traits that depend on the key/value size.
- Retrieve types correctly in CDB (buffer too short for STL-types)
- Fix std::map in GDB broken by previous commit.
- Introduce a dumper version check in GDB/CDB.
- Make GDB parse sizes in initial dumper call as well
- Fix special sizes to work with namespaced Qt (watchutils)
2009-07-07 16:00:45 +02:00
Friedemann Kleint
5bd1d2a028 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.
2009-07-06 17:36:50 +02:00
Friedemann Kleint
5a8b61b2ee Great debugger helper bug fixing spree.
- Fix extractTemplate() not to kill blanks in case there is no
  blank after a comma, fix hardcoded types accordingly.
- Make niceType()'s regexps ignore blanks after commas, add
  unsigned short as char_type and cache the mappings, making
  them work for CDB.
- CDB: Parse map output of dumpers correctly, generally don't
  confuse the parser by unknown keywords encountered when
  parsing children, thus enabling simple QMap types.
- Make dumpInnerValueHelper output std::string types.
2009-07-03 13:56:27 +02:00
hjk
89d49e3b20 debugger: make format for all integer types selectable 2009-07-03 13:26:08 +02:00
Friedemann Kleint
6e93f4544d Display Q<>Pointers/Work towards displaying maps/QMaps in CDB.
Make dumpers pass on more size information initially, namely the
various Q<>Pointers. Introduce enum for those special template types
whose size does not vary with the arguments (Q<>Pointer,
std::allocators...) to make it more easily extensible.
Pass on some common QMapNode<> sizes as well.
Introduce an expression cache to the common QtDumperHelper
class and make dumpers pass some common expression values
(value offsets of common QMapNode<> incarnations).
Make CDBDumperHelper use the expression cache.
Extend dumper tester.
2009-07-02 16:38:15 +02:00