Commit Graph

248 Commits

Author SHA1 Message Date
hjk
902bb6baa0 debugger: small changes for synchroneous mode 2009-10-20 16:02:54 +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
fa71a4879c debugger: work on autotests 2009-10-14 10:02:07 +02:00
Friedemann Kleint
14058c07ec CDB: Bug fixing
- Turn off initial breakpoint when attaching (terminal) and
  additionally ignore it before the first startup complete
- Refuse to step  the artifical thread created when
  interrupting
- If possible, switch to thread 0 when interupting (do not
  use artificial thread)
- Ignore non-fatal exceptions in dumper calls (stray Startup-
  complete-traps)
- Use right thread for dumper call loading
- Rename windows exception code enumeration
- Turn off modification off watch-data children by setType,
  show empty lists correctly.
- Verbose warnings about inserting invalid watch data.
2009-10-13 14:16:50 +02:00
hjk
aff42fec75 debugger: re-enable "data drill down on mouse hover" 2009-10-01 18:01:53 +02:00
Friedemann Kleint
0f486fd532 CDB: Fix stepping and a crash on dumping expanded pointer items.
Simplify & Generalize stepping code, introduce stubs for reverse
debugging. When user switches to another thread than the
event-triggering one in a stopped inferior, explicitly tell
the engine to continue that one.

Improve fixDumperResult to fix missing types (out of scope items)
and call it from expandPointerDumpable.
2009-10-01 14:41:30 +02:00
hjk
46952c04eb act on http://bugreports.qt.nokia.com/browse/QTCREATORBUG-123 2009-09-23 16:11:25 +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
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
7cd8ba8af4 debugger: disable bulk updates 2009-08-28 17:32:04 +02:00
hjk
27382f753c debuger: fix insertion of nested WatchData 2009-08-28 15:56:58 +02:00
hjk
75ade29466 debugger: allow dumpers to return children in more than one nesting level 2009-08-28 14:34:56 +02:00
hjk
56b3561828 debugger: fix display of slot lists 2009-08-27 16:10:43 +02:00
hjk
64daf410dc debugger: fix collapse/uncollapse bug in locals view 2009-08-26 17:29:22 +02:00
hjk
93cbef8724 long live the king 2009-08-14 09:30:56 +02:00
hjk
89ffffc183 debugger: use the bineditor to show memory dumps 2009-08-12 14:49:15 +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
hjk
97afa6f7b0 debugger: move code around 2009-07-23 17:52:16 +02:00
hjk
a16aa2e0d6 debugger: remove duplicated 'completeSuffix' entry in QFileInfo dumper 2009-07-15 09:26:00 +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
Alessandro Portale
d3f9757916 Removing some unused semicolons after Q_UNUSED
There were both variants, with and without extra semicolon.
2009-07-13 17:35:17 +02:00
Harald Fernengel
990ba67513 Fixes: Do not change the default color
RevBy:    hjk
Details:  Make it work on dark backgrounds by letting the palette decide
which default color to display.
2009-07-13 16:08:29 +02:00
hjk
25716914a5 debugger: insert all children of WatchData as a single block 2009-07-13 12:31:39 +02:00
hjk
8c00de4536 debugger: remove unnecessary first level in WatchModel
There used to be a single 'Locals' etc item of the true root that was
never shown anyway. Removing this also renders using setRootIndex()
in WatchWindow unnecessary.
2009-07-13 11:29:36 +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
09a4409c2a debugger: code cosmetics in watch handler 2009-07-08 17:28:04 +02:00
hjk
d024023596 debugger: use enum for formats instead of magic numbers 2009-07-08 17:28:04 +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
hjk
916fc9aa96 debugger: implement per-type format changes in the watch view 2009-07-03 13:26:08 +02:00
hjk
ed3b984910 debugger: fix bug in new watch model that led to not re-fetching outdated information. 2009-07-01 14:15:44 +02:00
hjk
b295aec1ad debugger: fix several small issues in the dumper code
Fix typo in QChar helper.
Add a auto tests for some of the dumpers.
Make the dumpers compilable for Qt < 4.5 for better regression tests.
Make manual tests compile with Qt < 4.5.
2009-06-26 10:51:27 +02:00
hjk
2a959f47a4 debugger: use an expandable tree in the debugger tooltip 2009-06-24 12:31:09 +02:00
Friedemann Kleint
cc58713361 Add a fake dereferencing item '*' to CDB for dumping QString*, etc.
Simplify the symbol group recursion to oblivion and make
it parametrizable with predicates to control recursion and
further processing. Most importantly, insert a parent item
BEFORE its child item (ignoring for now the fact that child recursion
might fail), making it possible to check and do magic on the parent,
disabling further handling by the symbol context. Dumper handling
can then kick in and handle pointed-to dumpeable items by inserting
fake dereferencing items.
Remove logic to detect already expanded items, just re-insert the
children if the handler asks for it.
2009-06-23 13:43:23 +02:00
hjk
69f58777c2 debugger: also simplify diplayed type of nested std::containers 2009-06-23 10:25:06 +02:00
Friedemann Kleint
bdfd71661c Replace int WatchData::childCount by bool ...hasChildren in Debugger.
...making engine implementations easier.
Acked-by: hjk <qtc-committer@nokia.com>
2009-06-22 11:35:08 +02:00
hjk
e05505613a debugger: sort alphebetically in watch view (again...) 2009-06-19 15:53:46 +02:00
hjk
725d8dbfc6 debugger: Prevent updateWatchData from being called multiple times.
Each calls to fetchMore() was triggering an updateWatchData, and that
can happen several times per user interaction.
2009-06-18 12:37:43 +02:00
Friedemann Kleint
44d02a652b Further cleanup of watch code, do not evaluate "<Edit>" watcher. 2009-06-18 10:34:53 +02:00
hjk
609f4a437b debugger: Rework watch model.
It's now properly using canFetchMore/fetchMore. cdb is not yet ported.
2009-06-17 16:00:04 +02:00
Jason McDonald
884b7af769 Update license headers and sales contact details.
Reviewed-by: Trust Me
2009-06-17 00:01:27 +10:00
hjk
ee5fb31f11 debugger: re-start work on image dumper 2009-05-29 16:25:12 +02:00
hjk
957a8f3479 debugger: some encoding correctness 2009-05-29 10:35:29 +02:00
Friedemann Kleint
5150089738 Fixed translation glitches. 2009-05-13 14:39:55 +02:00
hjk
0428a109e8 debugger: fix output of weak and strong reference counts in
QSharedPointer dumper
2009-04-29 15:09:42 +02:00
Friedemann Kleint
72a183777e Initial work on dumpers for CDB.
Add dumper calls, parser etc. Catch crashes
in the dumper functions.
2009-04-29 14:15:09 +02:00