Commit Graph

58 Commits

Author SHA1 Message Date
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
89eb27d231 debugger: remove some dead code 2010-11-10 14:36:53 +01:00
hjk
1afea78c7d debugger: convert register handler/window architecture 2010-11-05 13:51:02 +01:00
hjk
8e62715130 debugger: move logical ownership of breakhandler from engines to plugin 2010-11-04 09:55:05 +01:00
Arvid Ephraim Picciani
2a569ce073 Clean up BreakPoint
Reviewed-by: Friedemann Kleint
Reviewed-by: hjk
2010-10-29 11:29:37 +02:00
hjk
cc0e37cec5 debugger: replace n breakpoint lists of which n-1 are invalid by a single one 2010-10-13 17:44:23 +02:00
Friedemann Kleint
90872c632d Debugger[CDB]: Fix breakpoints.
Reviewed-by: hjk
Reviewed-by: aep <arvid.picciani@nokia.com>
Task-number: QTCREATORBUG-2612
2010-10-06 13:39:21 +02:00
Christiaan Janssen
24912c3f2e QmlObserver: breakpoint list is shared between engines
Reviewed by:  Kai Koehne, Andre Poenitz
2010-10-05 11:01:14 +02:00
hjk
b8d5f256a0 debugger: add missing 'Use full path' toggle in recently added 'Add Breakpoints' dialog
Reviewed-by: Friedemann Kleint
2010-09-28 13:15:36 +02:00
Friedemann Kleint
332889aec2 Debugger: Sanitize Datatypes, part 1: Breakpoints.
Make address a quint64, linnumber and ignoreCounts int.

Reviewed-by: hjk
2010-09-21 14:26:45 +02:00
Friedemann Kleint
f7b19f8114 Debugger: Move DebuggerEngine/QmlEngine/QmlCppEngine into Debugger{}
namespace (from Debugger::Internal) as they are exported classes.
Introduce private classes to avoid exposing private JS debugger
headers.
2010-09-13 13:30:35 +02:00
hjk
15fc9396b5 debugger: allow breakpoint removal also at the original position, not the "acknolegdged" one
Task-number: QTCREATORBUG-2264
2010-09-08 09:54:40 +02:00
hjk
4f4167a310 debugger: move BreakpointData into file of its own 2010-07-14 17:49:17 +02:00
hjk
2bdf10ce10 debugger: reenable disabling of breakpoints in editor context menu 2010-06-25 17:38:25 +02:00
hjk
f3d38de913 debugger: fix breakpoint toggling of "moved" breakpoints 2010-06-25 17:38:25 +02:00
hjk
03be40ddcd debugger: remove unused code 2010-06-25 14:38:44 +02:00
hjk
fadac8009c debugger: more breakpoint management related fixes 2010-06-22 15:37:27 +02:00
hjk
c5c0dc76a0 debugger: restore session breakpoints if RunControl finishes 2010-06-22 15:14:44 +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
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
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
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
3795539e0a debugger: fix scheduling of deletion of data watch points 2010-05-10 15:39:41 +02:00
hjk
01aabbda82 debugger: rename some breakpoint related functions 2010-05-10 15:39:41 +02:00
hjk
6c0b947ec1 debugger: first shot a implementing data watchpoints 2010-05-07 15:17:11 +02:00
hjk
24d1fbd15b debugger: support for per-thread breakpoints 2010-04-30 13:41:19 +02:00
hjk
a795c69325 debugger: more breakpoint refactoring 2010-04-12 12:02:16 +02:00
hjk
239e4ca507 debugger: move toggleBreakpoint() from DebuggerManager to DebuggerPlugin 2010-04-09 15:58:17 +02:00
hjk
d4aed1ae24 debugger: refactoring of breakpoint creation 2010-04-09 15:32:33 +02:00
hjk
4eb83cd8b2 debugger: basic support for address-based breakpoints 2010-04-09 15:32:33 +02:00
hjk
0f1b718359 debugger: move breakpoint marker to the line where the breakpoint will be
actually hit
2010-03-26 10:29:58 +01:00
hjk
1883baa56e debuggger: code cosmetics 2010-03-26 10:29:58 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Friedemann Kleint
28d72550d3 Removed static QIcon instances.
thus fixing the exit warning:
"~QX11PixmapData(): QPixmap objects must be destroyed..."

Acked-by: con
2010-02-10 10:47:34 +01:00
hjk
4cba453a1e debugger: let python handle the listing of breakpoints
TODO: only transfer deltas
2010-02-05 15:23:44 +01:00
hjk
fa2f73aa0d debugger: add some helper function to debug breakpoints 2010-01-21 17:19:08 +01:00
hjk
e3712f9687 debugger: refactoring, use QByteArray instead of QString when appropriate 2010-01-05 18:13:24 +01:00
hjk
ccd37a6655 debugger: make 'address column' in stack and breakpoint view optional 2009-10-01 11:42:04 +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
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
Oswald Buddenhagen
34197e361b make the bounds check in BreakpointHandler::at() an assert 2009-06-23 11:44:52 +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
d7c573054c re-apply enabled state to restored breakpoints 2009-06-10 10:57:00 +02:00
Friedemann Kleint
97789c2d26 Fixed breakpoints for CDB.
Set/modify breakpoints using the new takeXX() APIs of the breakhandler.
Add API for inserted breakpoints (as a 2-step process for pending
breakpoints). Format breakpoint tooltip properly with tr() and
more esthetically pleasing. Get rid of the old scheme of retrieving
and matching the breakpoints from the debugger engine, use ids.
2009-05-12 14:28:27 +02:00
hjk
fc78ae272b debugger: use short paths by default for setting breakpoints 2009-05-11 13:22:21 +02:00
hjk
d37a2d3aad debugger: introduce enabling/disabling of breakpoints 2009-04-28 15:09:23 +02:00
Friedemann Kleint
3d55c45e2c Continued CDB breakpoint handling.
Enable temporarily stopping for setting breakpoints. Fix terminating the
debuggee in exitDebugger().
2009-04-08 16:37:41 +02:00
hjk
341de778ef Fixes: debugger: make loading list of source files optional 2009-03-10 17:30:11 +01:00