Commit Graph

57 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
Arvid Ephraim Picciani
2a569ce073 Clean up BreakPoint
Reviewed-by: Friedemann Kleint
Reviewed-by: hjk
2010-10-29 11:29:37 +02:00
Arvid Ephraim Picciani
4d14920ad6 clean up WatchData
Reviewed-by: hjk
2010-10-15 15:19:11 +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
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
hjk
5c07433175 debugger: fix warning 2010-09-13 10:26:56 +02:00
hjk
7457083bab debugger: only update variables that are operated on 2010-09-13 08:32:37 +02:00
hjk
4cbbe366af debugger: make a 'type' a QByteArray, not a QString
Saves lots of conversion.
2010-09-01 17:36:09 +02:00
Friedemann Kleint
54f9654bd3 Debugger: Fix Symbian.
...which subclasses DebuggerRunner and does not call
DebuggerPlugin::startDebugger(), which connects the
engine, leading to strange malfunctions. Move functionality
to DebuggerRunner::start() to make it self-contained.
Add object names to engines for easier debugging.

Reviewed-by: hjk
2010-08-24 15:35:46 +02:00
hjk
3cee7dad0a debugger: make parts of python debugger work again with the new states 2010-07-23 16:09:05 +02:00
hjk
688da996f8 debugger: show a message box when the script engine does not find its primary file 2010-07-22 17:21:32 +02:00
hjk
e760700f0f debugger: overhaul "state machine"
This mainly allows for more precise shutdown and tightens the set
of allowed transitions.
2010-07-14 17:49:16 +02:00
hjk
6089bc1b9e debugger: rename EngineStart to EngineSetup 2010-07-14 17:49:16 +02:00
hjk
9e7a456457 debugger: refactor startup logic 2010-07-14 17:49:16 +02:00
hjk
f2c7d33fa6 debugger: fix startup sequence in scriptengine 2010-07-14 17:49:16 +02:00
hjk
85243e19a9 debugger: encapsulate part of the startup logic in the base class 2010-07-14 17:49:15 +02:00
hjk
f8d96f09a6 debugger: rename startDebugger() to startEngine() 2010-07-08 13:48:09 +02:00
hjk
eab55aac6b debugger: move state change to EngineStarting into the base class 2010-07-08 13:28:51 +02:00
hjk
2385e15b2d debugger: merge 'AdapterStarting' into 'EngineStarting' state 2010-07-08 12:41:53 +02:00
hjk
cdf7dbeada debugger: start refactoring of state transitions
This updates the state diagram in debuggerplugin.cpp and
renames AdapterStart{Fail}ed to EngineStart{Fail}ed.
2010-07-08 11:45:51 +02:00
hjk
ab0e0b1f97 debugger: fix startup of pdbengine 2010-07-07 14:36:40 +02:00
hjk
bcd2146db1 debugger: don't stop at disabled breakpoints in script engine 2010-07-07 13:26: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
hjk
9f7e9dc0ae debugger: refactoring of output channeling 2010-06-14 18:22:09 +02:00
hjk
b3aff6b919 debugger: more of the RunControl refactoring
Pass output through the RunControl instead of the DebuggerManager.
2010-06-14 17:24:13 +02:00
hjk
6ed9830971 debugger: move DebuggerRunControl *m_runControl into IDebuggerEngine.
Plan is to identify make identify an IDebuggerEngine incarnation with
a RunControl.
2010-06-14 17:24:13 +02:00
hjk
97edcb7977 debugger: start 'runcontrol-ification' of the debugger plugin.
This replaces most uses of DebuggerStartParameters by DebuggerRunControl
which is a simple RunControl with a DebuggerStartParameters member.

Plan is to move all global state to the run controls, and possibly
introduce specialized ones for core debugging etc.
2010-06-14 10:45:11 +02:00
hjk
15a595b429 debugger: refactor module/symbol view 2010-05-04 18:00:10 +02:00
hjk
400eecf4ef debugger: some work on python 2010-04-27 15:33:17 +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
c0a8fbe9ff debugger: rename a few functions 2010-03-10 16:17:40 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +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
Friedemann Kleint
a704b974b5 Script engine: Fix locals/QT_NO_CAST_FROM_ASCII 2010-01-18 13:40:44 +01:00
Friedemann Kleint
4f95378089 Fix compile. 2010-01-15 17:36:49 +01:00
Friedemann Kleint
1855316aaa Script: Some refactoring. 2010-01-15 17:30:26 +01:00
Tobias Hunger
b95c86db23 Remove duplicate inclusions of headers
Reviewed-by: thorbjorn
2010-01-11 10:26:12 +01:00
hjk
e3712f9687 debugger: refactoring, use QByteArray instead of QString when appropriate 2010-01-05 18:13:24 +01:00
hjk
20b9258d9e debugger: refactoring
Intergrate per-engine state tracking with the global running/stopped state.
2009-09-25 08:36:44 +02:00
hjk
c5f13cedf9 debugger: partial refactoring of debugger engine creation 2009-09-23 12:13:05 +02:00
hjk
634e4e5485 debugger: cleanup 2009-09-17 16:22:30 +02:00
hjk
058b55adc5 debugger: work on trk integration 2009-09-10 13:14:51 +02:00
hjk
7ce044031c debugger: fix basic script debugging
Locals view was broken, also unknown entries should not have children.
2009-09-02 13:21:18 +02:00
hjk
a48a686a1d debugger: move script engine initialization to startDebugger() 2009-09-02 10:08:13 +02:00
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
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
ad46f1286f Revert "Enabled the use of Debugger-specific watch/locals models."
This reverts commit abf5e3ddc3.
2009-07-13 09:11:07 +02:00