Commit Graph

59 Commits

Author SHA1 Message Date
hjk
9febb0bcb8 debugger: remove old disassembler view and handler
It is replaced by a real editor in e82d6c7b0.
2009-08-17 13:34:15 +02:00
hjk
e82d6c7b05 debugger: create a disassembler view as main editor
"Stepping instruction wise" and "display disassembler" mode is now toggled by a
single action. This also allows to re-use F10 and F11 as keyboard shortcut.

Missing: caching of disassembler output, removal of old disassembler view.
2009-08-17 13:18:54 +02:00
hjk
93cbef8724 long live the king 2009-08-14 09:30:56 +02:00
hjk
32e839c2a2 debugger: make the message box informing of received signals non-blocking. 2009-08-13 17:39:17 +02:00
hjk
abdc85f070 debugger: register view cosmetics
Show the current number base in the view.
2009-08-13 16:16:19 +02:00
hjk
6fd0433cd6 debugger: pop up a window when the application receives a signal like SIGSEGV
Just mentioning it in the status bar is often not enough to take notice.
2009-08-13 15:01:57 +02:00
hjk
0a560b10ab debugger: work around a bug in gdb/MI in gdb 6.8/Ubuntu
When trying to debug qmake or another bootstrapped application loading the
dumpers failed as they are binarily incompatible. So failing is expected and
fine. However, gdb 6.8-debian produces in this case _two_ responses for
'-exec-continue produces' ('^running' and '^error,msg="Cannot find new threads:
generic error"') which is impossible according to the MI docs. In theory...
2009-08-13 09:57:50 +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
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