Commit Graph

102 Commits

Author SHA1 Message Date
Friedemann Kleint
f536079585 Debugger: Streamline watch editing code.
Implement WatchModel::data() to return the right values
for Qt::EditRole, obsoleting the role matching in the delegate.
Similarly, handle Qt::EditRole in setData(), leaving only
'Change watch expression' in the delegate, which removes
and recreates a row, causing crashes when done in setData().
2010-09-24 10:38:17 +02:00
Friedemann Kleint
13c97d652e Debugger: Fixes around watch editing.
assignValueInDebugger: Pass on WatchData as well, pass
on values as QVariant. Based on that, do more extensive
checks in CDB, preventing assignment of non-PODs.

Locals/Watch editing:
* Disable while running
* Edit pointer values as hex with validation.

CDB: Strip class types off reported pointer values and reformat
the values as short 0x-pointer values, introduce flag to
WatchData::source to do dumper expansion handling.

Windows: recognize int64 as int.

Register handler: Fix accessing uninitialized value.
2010-09-23 13:22:08 +02:00
hjk
034bb72dc4 debugger: make alphabetic sorting of struct members optional.
Task-number: QTCREATORBUG-1608
2010-09-23 11:17:01 +02:00
Friedemann Kleint
ca808cc7b4 Debugger: Add special widgets for editing watch values.
Create delegate widgets with validation for bool/int/float
types, using a QVariant-type modelData property.
Also fix register editing to be validated for quint64 values
and editing longer values as hex bigints. Anything else is not
editable.
2010-09-22 17:30:22 +02:00
hjk
1d3606f4b9 debugger: provide a method to copy Locals&Watchers contents into a main editor.
Task-number: QTCREATORBUG-982
2010-09-08 09:10:22 +02:00
hjk
3f36dbd81a debugger: simplify code for inserting new watchitems 2010-07-23 18:20:13 +02:00
hjk
d27ec169d0 debugger: do not insert multiple "<Edit>" placeholders when creating new watch
items
2010-07-22 15:35:06 +02:00
hjk
dc6480fd6b debugger: open a new watch item on double click in the locals&watchers view
An attempt to fix http://bugreports.qt.nokia.com/browse/QTCREATORBUG-1841
2010-07-14 15:40:05 +02:00
hjk
bc325eb9ab debugger: disable some watch related actions when appropriate 2010-07-14 15:40:05 +02:00
hjk
eb75f40a98 debugger: allow per item selection of display method in Locals&Watchers 2010-06-25 09:16:55 +02:00
hjk
658a22766d debugger: remove special case for char * python dumpers.
This is handled by the generic pointer case nowadays and was (now) wrong
as it was impossible to see the 'bald pointer' version of it.
2010-06-23 16:30:42 +02:00
hjk
a25fd01a10 debugger: simplify handling of context menu actions of the Locals&Watchers view 2010-06-23 16:16:32 +02:00
hjk
6a6cba5518 debugger: The DebuggerEngine refactoring.
This replaces the (de facto) singleton engines and data handlers by classes
that are instantiated per run. The DebuggerRunControl will now create an
object of (a class derived from) DebuggerEngine that contains all the relevant
"dynamic" data.

DebuggerManager is no more. The "singleton" bits are merged into DebuggerPlugin,
whereas the data bits went to DebuggerEngine.

There is no formal notion of a "current" DebuggerEngine. However, as there's
only one DebuggerEngine at a time that has its data models connected to the
view, there's still some "de facto" notion of a "current" engine. Calling
SomeModel::setData(int role, QVariant data) with custom role is used as the
primary dispatch mechanism from the views to the "current" data models
(and the engine, as all data models know their engine).
2010-06-22 10:59:57 +02:00
Robert Loehning
7707fc0c69 Debugger: Made menu captions more explicit 2010-05-20 21:45:18 +02:00
Robert Loehning
e2e495a116 Debugger: Enabled removing watchpoints using context menu 2010-05-20 20:25:54 +02:00
Robert Loehning
e40c28cc2f Debbuger: Checking menu action if watchpoint is set 2010-05-20 19:49:52 +02:00
Robert Loehning
466518808c Removed pointless lines 2010-05-20 19:49:51 +02:00
Friedemann Kleint
9af9c91f93 Debugger/WatchWindow: Add menu options to show pointed to addresses.
Change the WatchWindow handling to be based on quint64 addresses to
ensure proper function. Changed roles and added one role to the
watchmodel to obtain addresses and pointed-to addresses. Add some
fiddling to parse out addresses from debugger values.
Add menu options. Make sure only one watchpoint per address is added.
2010-05-19 17:34:47 +02:00
Robert Loehning
a25280fca0 Revert "debugger: Open memory editor at pointee address, not at pointer address"
This reverts commit 07b118197a.

Does not work when display format was changed.
2010-05-19 16:11:47 +02:00
hjk
07b118197a debugger: Open memory editor at pointee address, not at pointer address 2010-05-19 15:37:11 +02:00
hjk
5c4b0f8866 debugger: fix resetting type formats in Locals and Watchers 2010-05-19 15:16:30 +02:00
hjk
d2e9658e13 debugger: use book case also in new actions 2010-05-18 12:13:27 +02:00
hjk
d8318a9502 debugger: refactor breakpoint handling
Use BreakpointData objects for communicaition instead of random
collection of some of their attributes.
2010-05-17 15:41:59 +02:00
hjk
6c0b947ec1 debugger: first shot a implementing data watchpoints 2010-05-07 15:17:11 +02:00
Friedemann Kleint
70153d1c73 Debugger[CDB]: Disable watchers.
As they work only in a very limited way and slow down debugging.
2010-04-16 16:37:23 +02:00
con
6c492dac4d Remove some focus rects on the Mac that don't belong there. 2010-04-16 11:40:25 +02:00
hjk
89196e5c6a debugger: change ' to " in locals context menu 2010-03-30 17:26:52 +02:00
Friedemann Kleint
bbcacaf59f Header cleaning spree in Core/Debugger and Symbian/Maemo-code of Qt4. 2010-03-18 10:59:06 +01:00
hjk
f0300b9e79 debugger: display cosmetics 2010-03-17 13:04:06 +01:00
hjk
d80d68b73b debugger: base individual formats on object addresses, not on inames 2010-03-17 12:38:37 +01:00
Jens Bache-Wiig
d58184173e Clean up layouts and use minisplitter everywhere
This patch replaces all uses of QSplitter with thin 1-pixel
splitters. I also fixed dock widget layouts in main windows
to do the same. Additionally I had to tweak the tabbars so
they look good in mini splitter layouts to avoid a double
left-border.

Reviewed-by: thorbjorn
2010-03-17 11:23:10 +01:00
hjk
c8a61cc8f2 debugger: implement selected of string encoding per pointer type/individual pointer 2010-03-11 18:56:28 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
hjk
04b4fcb6bd debugger: change capitalization of context menu action texts to Book Style 2010-02-12 10:53:25 +01:00
Friedemann Kleint
b6c7c597c2 Debugger: Introduce engine capability flags to enable actions correctly.
Reviewed-by: hjk
2010-02-05 10:23:55 +01:00
Oswald Buddenhagen
75b42f18d8 Merge remote branch 'origin/1.3'
Trailing whitespace removal re-applied manually.
2010-01-29 22:50:23 +01:00
Oswald Buddenhagen
a6ca348636 remove trailing whitespace
doing it in 1.3 as well to avoid possible later conflicts
2010-01-29 21:33:57 +01:00
hjk
1c94133b58 debugger: start working on infrastructure to allow selection of encoding of char
arrays
2009-12-08 17:46:53 +01:00
hjk
ecb0df0cb5 debugger: work on "watchers" for use with new dumpers 2009-12-04 17:08:35 +01:00
Oswald Buddenhagen
b0b5bde2e9 Merge remote branch 'origin/1.3'
Conflicts:
	doc/qtcreator.qdoc
	src/plugins/debugger/watchhandler.cpp
2009-11-27 20:06:01 +01:00
Friedemann Kleint
2b23ea2a8a Debugger/CDB: Windows 64 integer handling.
Convert CDB unsigned integer values should they appear in hex,
make format flexible.
Use int64 for reformatting integers to be able to accommodate
64 bit values on Windows 64. Add some more integer types.
Do not save decimal type formats. Add menu option to clear
individual formatting. Do not use map[] to query the type formats
(inserting 0 everywhere as a side effect).

Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2009-11-25 16:32:44 +01:00
hjk
f2392ffbc0 debugger: allow the user to hide the std:: and Qt's namespace 2009-11-25 13:46:33 +01:00
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
a92d6fbcd8 debugger: disable l&w 'alternative formats' submenu if there aren't any
alternatives.
2009-10-07 14:30:37 +02:00
Friedemann Kleint
1fb8f60e03 Debugger: Fix crash toggling Stack/"Derefence Pointers" without project
Enable debugger actions correctly.
Reviewed-by: hjk <qtc-committer@nokia.com>
2009-10-07 13:36:48 +02:00
hjk
d130588469 debugger: add option to automatically derefence pointers in locals&watchers 2009-10-06 10:54:08 +02:00
hjk
ccd37a6655 debugger: make 'address column' in stack and breakpoint view optional 2009-10-01 11:42:04 +02:00
hjk
b248bd28cd debugger: fix adding nested watcher 2009-09-29 16:38:29 +02:00
Friedemann Kleint
90470771fd Debugger: Export DebuggerManager and DebuggerStartParameters.
For device debugging. Move both from namespace
Debugger::Internal to Debugger, export them, give
DebuggerManager a static instance().
2009-09-25 16:01:28 +02:00