Commit Graph

256 Commits

Author SHA1 Message Date
Lasse Holmstedt
f1ff2a01cc QML Debugger: Mangle shadow build filenames
Without doing some magic for the filenames, we go to shadow build files
instead of the real ones, resulting in confusion. The user should never
see the shadow build files while debugging.

Reviewed-by: hjk
2010-09-08 14:55:07 +02:00
Christian Kandeler
03492f24da QML debugging: Adaptations for Maemo.
Reviewed-by: Lasse Holmstedt
2010-09-08 14:27:13 +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
Lasse Holmstedt
31c8b444db QML Debugger: Show error messages when connection is lost
Related to Qt commit bd521ed56f8e4be7117dc3534c6fded68f7a70c5
2010-08-27 13:12:05 +02:00
Olivier Goffart
fc1be8b488 Qml Javascript Debugger: add a script console widget.
The scriptconsole layout come from the old qmlinspector
2010-08-26 17:49:10 +02:00
Olivier Goffart
af46c3d947 qml debugger: make the application output work 2010-08-26 11:26:32 +02:00
Lasse Holmstedt
b557c58eac Qml Debugger: Enable debugging qml+cpp standalone applications
A new debugger engine, QmlCppEngine, is introduced, which wraps gdb
and qml engines into one. Alternatively, if using Windows, Cdb is used
instead of Gdb.

Most of the debugger ui switcher is now rewritten, and it is tailored
for the QML and CPP layout case, the only one supported anyway.

Reviewed-by: hjk
2010-08-24 17:46:22 +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
Olivier Goffart
f2d25d4710 QML debugger: show the QML ui by default
Only switch to C++ when we debug Javascript
2010-08-19 11:35:39 +02:00
Olivier Goffart
9aa64498f4 Qml Debugger: set the internal on the poll timer.
(Else, we do do not have enough time to start the observer)
2010-08-16 14:23:00 +02:00
Lasse Holmstedt
b71c3c62ba QML Debugger refactoring
Now, QmlEngine creates the connection to the inferior (debuggee), and
notifies QmlInspector when a connection is established. Before,
inspector created the debugger engin, which was wrong.

QmlEngine's responsibilities are connecting to the debuggee and basic
QML/JS debugging features like locals & watchers, breakpoints etc.
QmlInspector takes care of Live Preview and other fancy inspection
features.

Reviewed-by: hjk
2010-08-13 14:20:39 +02:00
hjk
5023e8442f debugger: show all dockwidgets in the views menu, even if disabled. 2010-08-11 10:52:29 +02:00
Olivier Goffart
d75239aeab QML Debugger: fix the fact that the qmlobserver would only run once. 2010-08-10 14:42:53 +02:00
Olivier Goffart
9df9695a7f debugger: get rid of the private header dependency
Removed the CanvasFrameRate class as it is not used, and
depends on private Qt API
2010-08-10 10:10:39 +02:00
Olivier Goffart
87c7ca5c9c remove dead code 2010-08-06 16:06:01 +02:00
Bill King
8092d78a58 Fixes: Makes the debugger plugin link again.
Details: No mocables in source file, no need for #include then.
2010-08-05 10:54:51 +10:00
Olivier Goffart
ac9be700d3 Qml Debugger: When we pause, notify creator that we paused, so it does not get in an inconsistant state 2010-08-04 17:21:26 +02:00
Olivier Goffart
6d9209b88f QML Debugger: Get rid of all the useless commented code 2010-08-04 17:21:26 +02:00
Olivier Goffart
91b6d329fe QML JS Debugger: Break when there is an uncaught exception 2010-07-23 18:42:59 +02:00
Olivier Goffart
69c04d916c QML JS Debugger: ensure we get the right Debugger UI
When a break point is hit, switch to the C++ debugger ui that
contains all the good widget for debugging.

This is a temporary fix, later the different engine should be
able to enable/disable part of the debugger ui as they whish
2010-07-23 15:33:45 +02:00
Olivier Goffart
70f3f5d029 QML JS Debugger: Asynchronous call to watchHandler()->endCycle()
All the expended item need to be retreived before we can call endCycle
2010-07-23 11:48:47 +02:00
Olivier Goffart
3a88a829c3 QML JS Debugger: Ability to edit properties from the debugger 2010-07-22 19:10:26 +02:00
Olivier Goffart
e0829e9c73 QML JS Debugger: Fix adding watch item. 2010-07-22 17:15:51 +02:00
Olivier Goffart
bdb2e751e0 remove some qDebug() 2010-07-22 15:35:27 +02:00
Olivier Goffart
bef56c168c QML JS Debugger: reset the location when continuing 2010-07-22 15:31:11 +02:00
Olivier Goffart
d554aa86b7 QML JS Debugger: clicking on the stackstrace shows the locals of this context 2010-07-22 15:23:36 +02:00
Olivier Goffart
050905157c QML JS Debugger: Be able to expand objects 2010-07-22 15:23:36 +02:00
Olivier Goffart
bfa609e336 QML JS Debugger: Better way to stream watch data
QVariant does not work as they can contain custom type that corrypt the stream
2010-07-22 13:18:04 +02:00
Kai Koehne
39b1bb8bd4 QmlOutline: Replace dynamic_casts by specific AST casts 2010-07-22 10:14:05 +02:00
Olivier Goffart
ac73d0a9eb debugger: Remove or comment out code that is not being used.
Will help to clean up later.
2010-07-16 12:17:13 +02:00
Olivier Goffart
0931948c01 QML JS debugging: premilary support of locals
Unfortunatelly, streaming QVariant is not a really good idea, as streaming
a custom type would fail
2010-07-16 12:02:47 +02:00
hjk
0700dec275 debugger: add missing callback to qmlengine 2010-07-15 14:54:43 +02:00
hjk
887e21da56 debugger: more state work 2010-07-14 17:49:17 +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
85243e19a9 debugger: encapsulate part of the startup logic in the base class 2010-07-14 17:49:15 +02:00
Olivier Goffart
896e898369 debugger: comment out the code that runs the qmlviewer from QMLEngine
the qmlviewer is currently started from the qmljsinspector.
But this might change in the future
2010-07-08 17:27:23 +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
aaf2912857 debugger: make lupdate happy 2010-07-08 12:46:25 +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
bb3a6f05d0 debugger: add test code for signal/slot debugging 2010-07-07 17:32:50 +02:00
hjk
30d4c00437 debugger: some more verbose qml debug output 2010-07-07 17:32:50 +02:00
hjk
de59fe3f2d debugger: work on the qmlengine 2010-07-05 17:08:55 +02:00
hjk
f9edf59c21 debugger: remove some unused code in the qmlengine 2010-07-05 17:08:55 +02:00
hjk
77cf419d77 debugger: make qml debugger start talking to qmlviewer 2010-07-02 11:18:34 +02:00
hjk
e2159536b0 debugger: incorporate ogoffart's first shot at qml debugging 2010-06-25 14:09:35 +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