Commit Graph

734 Commits

Author SHA1 Message Date
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
hjk
013437cfab debugger: add widget watchers by mouse click in the debugged application.
The option is hidden in the context menu.
Currently the application must be stopped.
2009-07-01 14:15:44 +02:00
hjk
41ec53b6c3 debugger: remove debug message 2009-07-01 14:15:44 +02:00
Friedemann Kleint
2de887eaa9 Do not give up loading dumpers (MinGW/injection load).
Acked-by: kh <qtc-committer@nokia.com>
2009-06-30 16:54:53 +02:00
hjk
4b4901b74b debugger: don't remove breakpoints when attaching to running process 2009-06-30 09:48:10 +02:00
hjk
3d9c65f2ee debugger: clear more status variables in initializeVariables() to
prevent inter-session dependencies
2009-06-29 13:54:39 +02:00
hjk
ae3ac786e0 debugger: fix problem where a manual 'continue' was needed after start up.
The problem was that the 'emptyness' of m_cookieForToken was used as an
indication that there was no response packet still in the air. However,
this hash was not reset after a debugging session was aborted using S-F5,
so it could contain items from a previous run, effectively preventing
automatic triggering of the necessary 'continue'.
2009-06-29 13:31:35 +02:00
hjk
2a959f47a4 debugger: use an expandable tree in the debugger tooltip 2009-06-24 12:31:09 +02:00
Oswald Buddenhagen
d131e2014c remove reentrancy guard from attemptBreakpointSynchronization()
there is no way it could happen
2009-06-23 11:44:52 +02:00
Oswald Buddenhagen
3402c1114f consolidate identical #ifdef branches 2009-06-23 11:44:52 +02:00
Erik Verbruggen
4b6130fe39 Fixed compile problem on MacOS. 2009-06-23 11:03:13 +02:00
hjk
f790d9ce29 debugger: fix <shadowed> variable display 2009-06-23 10:43:17 +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
3545c822c9 debugger: put some color into the outputpane 2009-06-19 12:05:23 +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
Oswald Buddenhagen
86ca8f4e30 consolidate attemptBreakpointSynchronization()-related code paths
this removes some unnecessary conditions and parallelizes more

Reviewed-by: hjk
2009-06-16 10:33:27 +02:00
Oswald Buddenhagen
199dfbb485 fix gdb shutdown logic on gdb crash
Reviewed-by: hjk
2009-06-12 19:56:58 +02:00
Oswald Buddenhagen
aa898a5312 fix waitForFinished logic 2009-06-12 19:55:34 +02:00
hjk
47d766d91f debugger: kill the debugger if it is still running after it said it has died. 2009-06-12 14:28:13 +02:00
hjk
30e78c686b fakevim: fix . after A and D in command mode 2009-06-11 17:22:37 +02:00
hjk
db1c212307 debugger: really disable reverse debugging 2009-06-10 13:35:40 +02:00
Oswald Buddenhagen
d7c573054c re-apply enabled state to restored breakpoints 2009-06-10 10:57:00 +02:00
Oswald Buddenhagen
289d6f8596 nicer 2009-06-08 15:55:41 +02:00
Oswald Buddenhagen
d2a8449bea ifdef Q_?S_* cleanup
- clear up some Q_OS_LINUX vs. Q_OS_UNIX
- clear up Q_WS_* vs. Q_OS_* (relatively theoretical exercise)
- use proper #if-#else cascades instead of free-standing #ifs
2009-06-03 20:54:59 +02:00
hjk
d7af85a097 debugger: implement a dumper for QAbstractItemModel
This also squashes a namespace related bug introduced by the watchutils
refactoring.
2009-06-03 12:48:48 +02:00
hjk
27609c4f00 debugger: remove some debug output, also make dumper input more readable in
the log.
2009-06-03 12:48:47 +02:00
hjk
ee5fb31f11 debugger: re-start work on image dumper 2009-05-29 16:25:12 +02:00
Johannes Zellner
61d3f55b1e fix debug application with terminal different to default (xterm)
The setting, which terminal, to start an application in debug mode from, was ignored, since the QSetting was just not set.

Reviewed-by:ossi
2009-05-29 15:03:56 +02:00
Friedemann Kleint
09380afe90 Get attaching to a crashed Windows process right (CDB).
Handle  the 2nd parameter correctly as a event id
to be used for a handshake. Introduce a special mode
when attaching to crashed processes.
Code cleanup, pass StartParameters along to startDebugger.
2009-05-26 16:27:24 +02:00
hjk
5ff00c84ae debugger: basic support for reverse debugging
works only with gbd 7.0 so far.
2009-05-25 17:23:19 +02:00
Friedemann Kleint
c4a0abcda7 Enabled passing on PIDs from the command line to the debugger.
Introduced struct DebuggerStartParameters to pass around
start parameters, removing the need for the engines to
access private members of DebuggerManager. Pass it
to DebuggerManager::startNewDebugger() and move
the GUI parts of that function into DebuggerPlugin,
making it possible to create the struct from command line
parameters. Introduce command line parsing with a few more
-enable-xx options. Introduce warning() to debugger panel
in the CDB engine.

On this occasion, clean out a few trailing whitespaces.
2009-05-25 16:22:11 +02:00
hjk
cce1c7f78e debugger: rename 'win' subdir to 'shared' 2009-05-19 15:45:58 +02:00
hjk
f63f18b840 debugger: put gdb related stuff into directory of its own 2009-05-19 15:23:12 +02:00