Commit Graph

52 Commits

Author SHA1 Message Date
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
b2051be94d debugger: handle execRun() error result 2009-07-21 17:14:27 +02:00
hjk
7af43dd95a dbugger: switch back to 'not running' when executable could not be started 2009-07-15 17:55:14 +02:00
dt
e7de23ea0a Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline 2009-07-15 17:44:16 +02:00
dt
54bbcc4a7c Mention possible locations of the debugging helper in the error dialog
Requires a lot of trivial forwarding.
2009-07-15 17:41:45 +02:00
Friedemann Kleint
e917eeacb9 Debugger: Alert on stop in the debugger manager. 2009-07-15 16:50:49 +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
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
b41e1616b8 Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline 2009-07-10 14:36:42 +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
56b24aac36 debugger: reduce amount of data produced by the dumpers by removing
predicatable parts.
2009-07-10 13:40:54 +02:00
hjk
eb83377f5a debugger: enhance time logging for individual commands 2009-07-08 17:28:04 +02:00
hjk
c58ba01148 debugger: some color for time stamps in log output 2009-07-08 17:28:04 +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
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