Commit Graph

23 Commits

Author SHA1 Message Date
Friedemann Kleint
3f3ad561c7 Debugger[CDB]: Reduce roundtrips when stepping.
Report threads and frames along with stopped notification.
Change special logic for step into and switching threads
on interrupt accordingly.
2011-01-25 18:35:31 +01:00
Friedemann Kleint
cd3b6c7b23 Debugger[CDB]: Switch to thread 0 after DebugBreak().
Do not show artificial thread that is created by
DebugBreak() as it causes a switch to disassembly.
Forcibly discard the symbol group for each locals
update as the lazy creation mechanism does not trigger
on thread changes back and forth involving assembly,
which causes the symbol group to become stale.
2011-01-18 15:34:58 +01:00
Friedemann Kleint
11c6ca71ac Debugger[New CDB]: Add support for "Select Widget to Watch".
in stopped state. Add helper for executing calls
to ExtensionContext including recording of output in
OutputCallback. Extend symbol resolution to return addresses
as well since QApplication::widgetAt() is ambiguous and needs
to be called by address. Add 'widgetat' extension command
to return the widget.
2011-01-18 11:40:45 +01:00
Friedemann Kleint
7d72445bc0 Debugger[New CDB]: Qualify types in watch expressions by module.
... to make them faster. Check for watch expressions
of the form '*(Type *)0xaddr' and insert module for non-PODs.
Add testing command.
2011-01-17 14:52:04 +01:00
Friedemann Kleint
3a87af8ada Debugger[New CDB]:Introduce watches infrastructure.
- Move the 'current module' into the Node
- Split symbol group hierarchy into LocalsSymbolGroup
  tied to frame/thread and a separate, scopeless
  WatchesSymbolGroup
- Add infrastructure for removing symbols from a SymbolGroup,
  doing the index bookkeeping.
- Add method to synchronize watches to  WatchesSymbolGroup
  (iname/name map).
- Introduce watches commands for adding and dumping.
- Extend locals command to get watches as well.
- Add a dummy 'ErrorSymbolGroupNode' to use in case
  insertion fails.
2011-01-14 16:53:05 +01:00
con
d1023c7614 It's 2011 now.
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
Friedemann Kleint
b74ecbdb5a Debugger[New CDB]: Update all variables on assignment.
Some documentation/comment changes.
2011-01-11 14:58:32 +01:00
Friedemann Kleint
ef48b33127 Debugger[New CDB]: Refine type detection, dump nested containers.
Introduce test commands.
2011-01-06 15:28:57 +01:00
Friedemann Kleint
ebec516e66 Debugge[New CDB]: Refine Symbol qualification for containers.
Resolve all types and always use current module for templates.
Fixes to pointer handling.
Make verbose switchable.
2011-01-06 12:53:54 +01:00
Friedemann Kleint
29ad8a4561 Debugger[New CDB]: Fix QList.
- Account for POD types in largeStatic-Check
- Avoid dumping empty children list (move handling to visitor)
- Verbose facility.
2011-01-05 16:52:30 +01:00
Friedemann Kleint
b7df5467d8 Debugger[New CDB]: Split up long extension messages.
To accommodate the limitation of output line width of CDB.
2011-01-04 12:40:52 +01:00
Friedemann Kleint
8d3e48af33 Debugger[New CDB]: First attempts at QMap<>.
Qualify map and hash nodes as Module!QMapNode<>.
Limit recursion depth of GDBMI dump.
Introduce error reporting.
Iterate QMap nodes and create artificial key/value nodes.
2010-12-21 17:23:27 +01:00
con
23c22b7c66 License headers, part 2 2010-12-17 17:14:20 +01:00
Friedemann Kleint
cc3dd43942 Debugger[New CDB]: Linked lists containers/container child expansion.
Introduce node hierarchy and move nodes to a separate file.
Introduce reference nodes that point to additional symbols and
symbols within the symbol tree (make deeply nested linked list
elements visible as array elements). Properly name container
elements as array elements 0..n. Fix pre-expansion of complex
dumpers.
2010-12-15 11:01:01 +01:00
Friedemann Kleint
7baf7b24e0 Debugger[New CDB]: Pass formatting parameters.
Pass around formatting parameters as structure.
Prototypically implement formatting of char *-Pointers
as UTF8.
Transfer registers and modules only if dock window is visible.
2010-12-09 17:04:43 +01:00
Friedemann Kleint
c7acef6e9a Debugger[New CDB]: Add infrastructure for casting/adding symbols.
Some more value fixing/support double-quoted commands in extension.
Functionality for printing command help.
2010-11-30 14:42:04 +01:00
Friedemann Kleint
30e74df0ba Debugger[New CDDB]: Dump strings and simple Qt types.
Add infrastructure for simple dumpers in Symbol group.
Fix display of class values.
2010-11-26 15:51:56 +01:00
Friedemann Kleint
78fe22f4a3 Debugger[New CDB]: Add SymbolGroupValue for simple dumping. 2010-11-25 17:17:06 +01:00
Friedemann Kleint
2c1c22fbfc Debugger[New CDB]: Move index bookkeeping into SymbolGroup.
To enable creating lightweight value classes for dumping.
Add some fixes for inames (template base classes). Fix
find().
2010-11-25 10:01:40 +01:00
Friedemann Kleint
191b7e0b00 Debugger[new CDB]: Work on locals.
Add optional code model scope checking. Remove need to call
to 'expandlocals' command by giving 'locals' options for expanded
and uninitialized variables, saving one roundtrip.
Handle shadowed variables and __formal parameters. Differentiate
between name and iname in SymbolGroup.
2010-11-23 13:36:39 +01:00
Friedemann Kleint
7fbff9c3af Debugger[New CDB]: Fix disassembly.
Introduce GDBMI-based 'stack' extension command instead of the
builtin 'k' as this does not print the correct instruction pointer.
2010-11-22 13:50:40 +01:00
Friedemann Kleint
1b9b962b2c Debugger[new CDB]: Polish options, add remote debugging. 2010-11-19 16:13:22 +01:00
Friedemann Kleint
56d3664934 Debugger: Add extension library to be loaded into CDB.exe 2010-11-18 13:55:52 +01:00