Commit Graph

140 Commits

Author SHA1 Message Date
Christiaan Janssen
6f334c9b52 QmlDebugger: fixing Qml breakpoints not working on OSX
Reviewed-by: Kai Koehne
2010-11-24 16:28:25 +01:00
Christiaan Janssen
a35170a854 QmlDebugger: Assigning Qml breakpoints to the Qml Engine
Reviewed-by: hjk
2010-11-23 16:12:58 +01:00
hjk
585bb50d89 debugger: move qml engine private classes to internal namespace 2010-11-22 14:13:23 +01:00
Oswald Buddenhagen
1e362b0f8b overhaul process argument handling
get away from argument stringlists. instead, use native shell command
lines which support quoting/splitting, environment variable expansion
and redirections with well-understood semantics.

Task-number: QTCREATORBUG-542
Task-number: QTCREATORBUG-1564
2010-11-17 13:19:07 +01:00
hjk
fd8bf48b2b debugger: start tightening the breakpoint state machinery 2010-11-16 17:09:55 +01:00
Christiaan Janssen
4790548216 QmlDebugger: Refactored QmlEngine and QmlCppEngine
Reviewed by:  hjk
2010-11-15 17:18:00 +01:00
Friedemann Kleint
9fc5970bdb Debugger: Introduce BreakpointParameters as base struct.
For Breakpoint data manipulation.

Reviewed-by: hjk
2010-11-15 17:04:29 +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
Arvid Ephraim Picciani
6780cb88e3 Add stream operators for debugger transport types
Reviewed-by: hjk
2010-11-08 14:44:33 +01:00
Christian Kandeler
548df9385b Maemo: Use dynamic port list.
Check whether the ports we need are actually available on the device.
As a side effect, this makes it possible to debug more than one
application at the same time on Maemo.

Task-number: QTCREATORBUG-2702
2010-11-02 14:27:18 +01:00
hjk
0afb34d5eb debugger: refactor breakpoint type, add function name to resolved jsbreakpoints 2010-10-29 14:31:16 +02:00
Arvid Ephraim Picciani
2a569ce073 Clean up BreakPoint
Reviewed-by: Friedemann Kleint
Reviewed-by: hjk
2010-10-29 11:29:37 +02:00
hjk
f51301585e jsdebugger: use a real structure for a stack frame in the debuggeragent 2010-10-27 17:38:00 +02:00
hjk
63ca71c2c7 jsdebugger: use QByteArray for data transfer
Easier to debug, less data to transfer.
2010-10-27 17:38:00 +02:00
hjk
8a7287c8c4 debugger: show stack frame level in js debugger 2010-10-27 16:07:36 +02:00
hjk
6a7cbac057 debugger: code cosmetics 2010-10-27 15:23:30 +02:00
Oswald Buddenhagen
35bb61590d Merge remote branch 'origin/2.1'
Conflicts:
	doc/qtcreator.qdoc
	share/qtcreator/templates/mobileapp/app.pro
2010-10-25 11:27:30 +02:00
Christiaan Janssen
3938cd671b DebuggerEngine: fixed race condition at qml engine startup
Reviewed by: hjk
2010-10-20 13:45:04 +02:00
Kai Koehne
ef350d529c QmlJSDebugger: Show filename/line number also for enabled breakpoints
Hitting a breakpoint automatically acknowledges it, and from then on
bpFileName, bpLineNumber are used in the Breakpoints pane instead of
fileName, lineNumber.

Task-number: QTCREATORBUG-2759
Reviewed-by: Christiaan Janssen
2010-10-19 20:02:25 +02:00
Arvid Ephraim Picciani
4d14920ad6 clean up WatchData
Reviewed-by: hjk
2010-10-15 15:19:11 +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
Friedemann Kleint
520c936a45 L10n: tr()-Fixes 2010-10-05 09:44:33 +02:00
Kai Koehne
325af72012 QmlProject: Always use qmlobserver for debugging projects
Also only warn about missing qmlobserver when actually trying to
debug a .qmlproject.

Reviewed-by: Christiaan Janssen
2010-10-04 16:59:58 +02:00
Kai Koehne
abfb22a68e QmlDebugger: Make JS breakpoints not pending when they're hit
Task-number: QTCREATORBUG-2590
Reviewed-by: Christiaan Janssen
2010-10-04 14:26:03 +02:00
Kai Koehne
226a82d3dc QmlDebugger: Log status of different services
Reviewed-by: Christiaan Janssen
2010-10-01 13:43:42 +02:00
Lasse Holmstedt
89443cfb1f QML Observer: Complain about not having it if debugging .qmlprojects
Reviewed-by: hjk
2010-09-29 09:39:42 +02:00
Tobias Hunger
f5c044fe48 Move ProjectExplorer::Environment to Utils::Environment
Reviewed-by: dt
2010-09-23 13:40:26 +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
Christian Kandeler
ae4c35bd86 Maemo: Support QML-only debugging.
Reviewed-by: kh1
2010-09-16 17:08:58 +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
7457083bab debugger: only update variables that are operated on 2010-09-13 08:32:37 +02:00
Christiaan Janssen
1c702357a6 QmlInspector: tooltips in qmldebug mode
Reviewed by: Lasse Holmstedt
2010-09-08 16:53:44 +02:00
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