Commit Graph

168 Commits

Author SHA1 Message Date
con
04e32b0049 License headers. 2010-12-17 16:03:42 +01:00
hjk
efeb329a58 debugger: move memory related context menu items of l&w to submenu 2010-12-16 12:32:55 +01:00
hjk
5ed710552c debugger: merge the 'Change Format for {Object,Type}' l&w context menu entries 2010-12-16 10:44:48 +01:00
hjk
33fba20428 debugger: change 'Format' to 'Display' in the l&w context menu 2010-12-15 14:48:03 +01:00
hjk
cfd2dbb395 debugger: split debuggeragents.{h,cpp} int {memory,disassembler}agent.{h,cpp} 2010-12-08 16:48:35 +01:00
hjk
7d8d51677b debugger: polish module symbols 2010-11-26 11:27:25 +01:00
hjk
a9f825fc2e debugger: remove needless indirection 2010-11-26 11:27:25 +01:00
hjk
950a12f687 debugger: save a few cycles when updating a large locals view 2010-11-25 18:44:53 +01:00
Friedemann Kleint
2960c735df Debugger/CPP: Move helpers to simplify types to CPlusPlus-lib.
Make available for log simplification, etc.
Add autotest, fix broken std::set and MSVC.

Rubber-stamped-by: Christian Kamm <christian.d.kamm@nokia.com>
2010-11-25 13:51:54 +01:00
hjk
8ae541b36f debugger: Refactor breakpoint handling.
The breakpoints are now (fairly) tightly guarded by the BreakpointHandler.
Engines and Views are only supposed to refer to them by id. They also have
individual states now. The breakpoint data is split into a "user requested"
"fixed" part in BreakpointData and the engines' acknowledged data in a new
struct BreakpointResponse.

TODO: Move m_state and m_engine members to BreakpointResponse. Fix regressions
in the marker handling.
2010-11-15 12:09:25 +01:00
hjk
2161e0f6d9 debugger: refactoring of the plugin interface
There's  some 'external' and some 'internal' part now. Other plugins
are only supposed the external interface.
2010-11-10 12:08:23 +01:00
hjk
b373da1b12 debugger: more handler/window refactoring 2010-11-08 13:20:12 +01:00
hjk
6d0f22b1bd debugger: add a dot to a message 2010-11-05 13:36:18 +01:00
hjk
4ad493c958 debugger: re-enable functions and cleanup after breakhandler move 2010-11-04 11:28:08 +01:00
Friedemann Kleint
82f80d5403 Debugger[CDB]: Do not evaluate watch expressions at all.
setError() on them instead (should there be any from
a session mixup). Give the session engine watcher
capabilities and ensure 'Remove watch item' is enabled
for the session engine by checking the debugger state.

Reviewed-by: hjk
2010-10-11 12:59:49 +02:00
hjk
ea4b64dee4 debugger: remove rarely needed "Recheck Debuggging Helper Availability"
context menu entry.

It was more a debugger debugging aid in the early days of compiled dumpers
anyway.

Reviewed-by: Friedemann Kleint
2010-09-28 13:15:42 +02:00
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