Commit Graph

186 Commits

Author SHA1 Message Date
Aurindam Jana
f3c047a33c QmlV8DebuggerClient: Refactored code
Change List:
a) Refactored code: Shifted JSON message creation to
QmlV8DebuggerClientPrivate.
b) QScriptEngine is used for JSON instead of JsonValue and
JsonInputStream.
c) Locals Window displays all variables accessible in the current
context.

Change-Id: I82e73f6c57482408f5fc501c908aa96297d3d754
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-10-27 12:06:42 +02:00
Eike Ziller
8eb8368139 Merge remote-tracking branch 'origin/2.4'
Conflicts:
	qtcreator.pri
	src/libs/qmljs/qmljstypedescriptionreader.cpp
	tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp

Change-Id: Id032187023bb42f259a87545ceeb3c965dd01a32
2011-10-17 14:22:32 +02:00
Kai Koehne
17ecb5bb71 Debugger: Avoid "Could not connect ... QML debugger" warning for mixed debugging
There's a race condition between the QML Engine trying to connect after the app printed
"Waiting on debugger port ...", and any possible Cpp breakpoints stopping the app.
Therefore, don't annoy the user with "Could not connec to QML Debugger" warnings
while the Cpp debugger is stepping.

Change-Id: I77f6f98e835e45363c5d47e10b39df249f65a1a3
Task-number: QTCREATORBUG-6249
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2011-10-13 17:22:44 +02:00
Kai Koehne
f8700f19ae Debugger: Expose which languages (QML, C++, Any) an engine supports
Change-Id: Ia690b5cda84738c303ae7b6bd579e43313728525
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-13 17:21:49 +02:00
Kai Koehne
b684f662b1 Debugger: Ignore instruction-wise operator mode for stepping QML
Change-Id: Idfd703acb9876041916cc3b1a04b5c031af2c12b
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2011-10-13 13:24:33 +02:00
Kai Koehne
d2d3c6dd15 QmlCppEngine: Make sure that breakpoint markers get removed
resetLocation() called by DebuggerPlugin::handle* should automatically
reset the locations for stepping etc.

Change-Id: I3e20f93ade7f40e1e1f33b1b48b11522b59771f8
Task-number: QTCREATORBUG-6291
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2011-10-13 11:56:10 +02:00
Aurindam Jana
cb0b3424b3 QmlJSScriptConsole: Refactored ScriptConsole, added functionality.
The ScriptConsole is renamed to QmlJSScriptConsole. The console can be used
to evaluate expressions during a QML application debug session.
Changes:
* Console can be used even when application is not on a debug break
* The object context is the currently selected object in Inspector
* ContextMenu has a Clear option
* Multiple line expressions are supported
* Traverse Command History using up and down arrow keys

Change-Id: I4e1cd8763d60be43dbba395ead2a9a086d6bab7d
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-10-12 15:03:00 +02:00
Kai Koehne
7dc88639dc QmlProfiler: Allow user to specify a sysroot for "Attach to Port"
Change-Id: I943255e5a501610195e3758f9fbb42d127f15524
Reviewed-on: http://codereview.qt-project.org/6451
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2011-10-12 11:12:15 +02:00
Kai Koehne
732334a0b8 QmlCppDebugger: Decouple states of engines
The main engine now follows mostly the state of the gdb engine,
only if a breakpoint is hit/while stepping the state of the qml
engine is used. This allows us to hit C++ breakpoints at any time
(also when the qml engine hasn't been able to connect yet), and
also fixes the invalid transition warnings.

Change-Id: If67a56fd28b098952be2606d0a46e04c27835f66
Reviewed-on: http://codereview.qt-project.org/5897
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-04 16:00:15 +02:00
Aurindam Jana
3c61cbb5df Debugger: Change BreakpointOnSignalHandler to BreakpointOnQMLSignalHandler
Change-Id: Ic71299c38863cdb55862ced7348b2bdc9cf39555
Reviewed-on: http://codereview.qt-project.org/5743
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-09-30 16:19:17 +02:00
Aurindam Jana
dbfae9fb28 QmlDebugger: Attach to QML Port: Fix errors
Connect to user defined host and port. Increased maximum connection tries.

Change-Id: Ie72a9fb36e5178b64311753bd8a3fe20e6f62c3b
Reviewed-on: http://codereview.qt-project.org/4918
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-09-19 13:56:08 +02:00
Aurindam Jana
f05683ac7e JSDebugger: Enable break on events.
The user can request Javascript break on event. The user can provide
this info in the Breakpoints Window and provide the slot which will
be called when the event occurs. For example: specify "onTriggered" if
you need to break on Timer triggered event.

Change-Id: If936d7402f5978a182132fdcca75515588364e16
Reviewed-on: http://codereview.qt-project.org/4758
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-09-16 11:42:54 +02:00
hjk
c6a8b39a03 debugger: hard-code some qt5 related paths
This is not a final solution.

Change-Id: I19e7a99e1b056704864d27855197678a0d3fd10b
Reviewed-on: http://codereview.qt-project.org/5073
Reviewed-by: hjk <qthjk@ovi.com>
2011-09-16 11:06:20 +02:00
Eike Ziller
b0efd44d20 Merge remote-tracking branch 'origin/2.3'
Conflicts:
	qtcreator.pri
	qtcreator.pro
	share/qtcreator/templates/qtquickapp/qmlapplicationviewer/qmlapplicationviewer.cpp
	src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp
	src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
	src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp
	src/plugins/remotelinux/remotelinuxruncontrol.cpp

Change-Id: I9c89ba9fa2928e14e148041f9001856dce47a20b
2011-09-15 11:50:29 +02:00
Aurindam Jana
bfe5b520f1 QmlDebugger: Added dialog "Attach to QML Port..."
The dialog is added to Debug->Start Debugging menu option. It specifies the host
and port that the JSDebugClient connects to for listening to debug messages.

Change-Id: I7f828c169ff2338f4780025f72182c5fc8784c4a
Reviewed-on: http://codereview.qt-project.org/4824
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-09-14 11:11:31 +02:00
Kai Koehne
b79fa21d1d QML Debugging: Fix crash for QML-only debugging on Symbian
Task-number: QTCREATORBUG-6037

Change-Id: I01080d97d21c230a7a32ea943435b2f763b87c41
Reviewed-on: http://codereview.qt-project.org/4687
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paweł Polański <jaggernod@gmail.com>
2011-09-13 14:00:14 +02:00
Aurindam Jana
29c0f0bfef Debugger: Client Service synchronization
Sends connect command after all initial commands have been sent.
This ensures that the initialization is complete before the start
of the debugging session.

Change-Id: I1903caa9c213fef4e6b40df89a352d80e350a46d
Reviewed-on: http://codereview.qt.nokia.com/3526
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2011-08-25 11:48:50 +02:00
Aurindam Jana
3edc756ad7 Improved breakpoint handling in qmlv8debuggerclient
Breakpoints are resolved and set only after querying for their actual locations from v8 engine.

Change-Id: If119865f50d9f91a4930096751599a4f22bc9d26
Reviewed-on: http://codereview.qt.nokia.com/3406
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-08-23 15:40:10 +02:00
Aurindam Jana
6b8b2e63ea Refactoring v8debuggerclient and scriptdebuggerclient
Change-Id: Ifa2e9a9901a166907bd7c3999421146b07bd1c59
Reviewed-on: http://codereview.qt.nokia.com/3328
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2011-08-23 15:35:26 +02:00
Aurindam Jana
2b84f9f369 Synchronize the client with the debug service
The v8 engine is blocked till the client is connected to the service to ensure proper hitting of breakpoints.

Task-number: QTCREATORBUG-5412

Change-Id: Iec772cb547a31fef4cccbd4bb1116699c52d20e5
Reviewed-on: http://codereview.qt.nokia.com/3308
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-08-23 15:35:03 +02:00
Aurindam Jana
879766d85c Notify disconnect to debug server when inferiorshutdownrequested
Change-Id: I15bb1342f647362cb00e4b0d0453b663a2d3f637
Reviewed-on: http://codereview.qt.nokia.com/3095
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2011-08-17 14:48:14 +02:00
Aurindam Jana
1b2f1f102e Changed the behaviour of setting breakpoints in qml files.
Delegates setting of breakpoints to functions that set/reset/change the breakpoint one at a time.
Change-Id: I553a74b05cf19c9d2436344db67bc962da18457f
Reviewed-on: http://codereview.qt.nokia.com/3082
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
2011-08-17 12:59:43 +02:00
Friedemann Kleint
f76da43b05 Debugger: Replace virtuals by capability flags.
Change-Id: If09efd21dc44e356eb575bb6170356fdbd409b39
Reviewed-on: http://codereview.qt.nokia.com/2625
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: hjk <qthjk@ovi.com>
2011-08-04 14:35:18 +02:00
Aurindam Jana
ab574ba88d Delegate javascript debugging to Script and V8 debugger clients.
The appropriate client handles the debugging based on the service available at the server side.

Change-Id: I46b66036f700fc7e45e8b38cef7f1ce1445b1122
Reviewed-on: http://codereview.qt.nokia.com/2497
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-08-03 11:27:38 +02:00
Oswald Buddenhagen
65c0eb5165 Merge branch '2.3'
Conflicts:
	src/plugins/debugger/qml/qmlengine.cpp

Change-Id: I46509f0c187b71bbaed7b2118a160914f8250ca4
2011-07-29 17:57:59 +02:00
Kai Koehne
7aaab4d050 QmlDbg: Don't wait infinitely for messages on application output
We only connect to the port when we get a 'Waiting for connection ...'
message on application output. This was done mainly to avoid lots
of failed connects, and therefore an unresponsive UI on Windows.

However, the application output might be redirected for various reasons.
Therefore fall back to busy connect after a certain time (4 seconds
for profiling, 8 seconds for debugging).

Change-Id: Ie1b943f678ced40c030cc134493a2adf7e3bc9df
Reviewed-on: http://codereview.qt.nokia.com/2323
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2011-07-29 16:32:02 +02:00
Kai Koehne
289acee78a QmlDbg: Fix behavior when re-running the same run control
Change-Id: Icb405b4751fc885d8b96d1daec3653236b564ef0
Reviewed-on: http://codereview.qt.nokia.com/2352
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2011-07-29 15:07:43 +02:00
Kai Koehne
1757228278 New QTC_CHECK warning replacing QTC_ASSERT(x, /**/)
Warn if the condition fails, but otherwise don't change the execution
flow.

Change-Id: Id7b14c745109b66960add967b2a4ef8d31e1a546
Reviewed-on: http://codereview.qt.nokia.com/2389
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-07-29 12:19:11 +02:00
Christiaan Janssen
619c0cc0d6 QmlCppDebugging: handling Harmattan mixed debugging
Change-Id: Idfc0a6d48bcc1c42aac58ea03b5a51ad6e661f25
Reviewed-on: http://codereview.qt.nokia.com/2275
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
2011-07-27 12:53:32 +02:00
Oswald Buddenhagen
ae8ac2eb2f Merge branch '2.3'
Conflicts:
	qtcreator.pri
	src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp
	src/plugins/remotelinux/maemodeploystepfactory.cpp
	src/plugins/remotelinux/maemodirectdeviceuploadstep.cpp

Change-Id: I195163713145e72df20aec4ac9058f0c9158083e
2011-07-25 13:57:13 +02:00
Kai Koehne
51a9ff7d4e Qml Tooling: Fix debugging & profiling of .qml files loaded from resources
Don't expect that every url specifying a file is a local file url. Instead
let FileInProjectFinder handle urls with other schemes gracefully, too.

Change-Id: I72457d502ff1caf52f588e8ec41ab260882d1cf5
Reviewed-on: http://codereview.qt.nokia.com/1840
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2011-07-21 12:27:43 +02:00
hjk
fdb0876e9c debugger: style
Change-Id: Ia3f2090ffac10149209d0152de65a90e1f822add
Reviewed-on: http://codereview.qt.nokia.com/1299
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: hjk <qthjk@ovi.com>
2011-07-07 11:59:04 +02:00
hjk
c041286753 debugger: split BreakpointIndex into plugin and debugger specific part
Change-Id: I21d10cf42eb039c74475e106537b6e107d155196
Reviewed-on: http://codereview.qt.nokia.com/745
Reviewed-by: hjk <qthjk@ovi.com>
2011-06-27 09:14:25 +02:00
Christiaan Janssen
0f6376f16c QmlDebugger: update location marker while debugging
Reviewed-by: hjk
2011-05-16 17:39:33 +02:00
Oswald Buddenhagen
322a8481a7 unify application launcher between platforms
purge abstractprocess and winguiprocess. they serve no purpose.

applications can have stdio on windows as well, in addition to the
windows debug channel.

Task-number: QTCREATORBUG-4822
2011-05-12 20:39:44 +02:00
Tobias Hunger
aa2acec14c Fix/add copyright headers
Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
2011-05-06 15:17:05 +02:00
Kai Koehne
ea36927cc3 QmlDebug: Simplify logic to find the source file for a stack frame
Get rid of custom logic to handle shadow builds (which didn't work
anyway if the qml files are from a different directory than expected).
Instead, just search for the file name in the list of files from the
project.

Reviewed-by: Christiaan Janssen
2011-04-27 17:25:48 +02:00
con
14487af86c Merge remote branch 'origin/2.2'
Conflicts:
	src/plugins/projectexplorer/gcctoolchain.cpp
	src/plugins/projectexplorer/target.cpp
	src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
2011-04-27 11:27:29 +02:00
con
2cf76ead26 Move OutputFormatter to Utils lib. 2011-04-26 10:45:21 +02:00
Kai Koehne
444fd5ee19 QmlDebug: Make sure that right file is opened when hitting breakpoint
Make the file search case insensitive on Windows, in case the projects
directory has a different capitalization than what we store in the user
settings.

Reviewed-by: Robert Loehning
2011-04-26 09:40:33 +02:00
Tom Sutcliffe
caf0547319 Added support for running QML debugger without C++ debugger on Symbian
Reviewed-by: kkoehne
Reviewed-by: Pawel Polanski
2011-04-21 16:03:36 +02:00
Christiaan Janssen
5692120ee3 QmlDebugger: synchronize watches when deleted
Reviewed-by: Kai Koehne
2011-04-21 12:28:11 +02:00
Christiaan Janssen
85801227a9 QmlDebugger: keeping watches when changing stack frames
Reviewed-by: Kai Koehne
2011-04-20 17:33:26 +02:00
Christiaan Janssen
9a8cf34e63 QmlDebugger: breakpoints in symlinked qmlprojects
Task-number: QTCREATORBUG-4405

Reviewed-by: Kai Koehne
2011-04-19 17:00:38 +02:00
Oswald Buddenhagen
dc3c156cac Merge branch '2.2'
Conflicts:
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h
	src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h
	src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp
	src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp
	src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
	src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp
	src/plugins/qt4projectmanager/qt4target.cpp
	src/plugins/qt4projectmanager/qt4target.h
	src/plugins/qt4projectmanager/qtoptionspage.h
	src/plugins/qt4projectmanager/qtversionmanager.cpp
	src/plugins/welcome/welcomemode.cpp
2011-04-14 12:39:31 +02:00
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00
Tom Sutcliffe
9e0a51bf8c Fixes for QML debugging over USB OST 2011-04-12 16:33:02 +02:00
Kai Koehne
72d021a6ab QmlEngine: Enforce newline after status messages
Reviewed-by: hjk
2011-03-30 13:49:43 +02:00
Kai Koehne
37076b33fe QmlDebug: Fix handling of QML stack trace locations on Windows
Remove leading slash.
2011-03-28 13:10:09 +02:00
Christiaan Janssen
7100d29f66 QmlDebugger: user input on watches
Reviewed-by: hjk
2011-03-24 13:21:30 +01:00