Commit Graph

302 Commits

Author SHA1 Message Date
hjk
496e9fafd0 debugger: replace static capability check by something potentially dynamic
This does not yet use the potential.

Change-Id: I087311fb7d59b46e49f65a84c4420c72a1227ebb
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-01-16 16:33:43 +01:00
Aurindam Jana
641716bee3 QmlDebugging: Implement RunToLine capability
Change-Id: I153c30310ac318d2de8b9a96c6d1e7f80439d306
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-01-09 10:53:19 +01:00
Friedemann Kleint
ec49390052 QML-Debugger: Compile with QT_NO_CAST_FROM_ASCII.
Change-Id: Id6f437c54504f6730c8726264f460b8f1631899d
Reviewed-by: hjk <qthjk@ovi.com>
2011-12-21 13:48:21 +01:00
Aurindam Jana
19b539c995 Debugging: Reload Script Scources
Update open editors when internal sources are reloaded.

Change-Id: If0780ac5fbbcd2a19c95dd5647d47cb70a9135e0
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-12-21 10:45:56 +01:00
Aurindam Jana
a2d5cb3534 QmlEngine: Source Files
Check for open editors with same display name before creating
a new editor to show the internal sources.

Change-Id: I53b365fb6c29d33922936bb4eb4dfb9476d5978e
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-12-21 10:25:26 +01:00
Daniel Molkentin
4ebc7a3092 Compile with Qt 4.7 again.
Change-Id: I627472151484d3b0b75b2030d3627d40f8c051f0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-12-20 19:28:11 +01:00
Kai Koehne
cd63f3865f Debugger: Populate "Source Files" for QML, showing shadow .js structure
Request the sources actually seen by v8, and show them in a separate file
(click on the leftmost column). Automatically populating 'Source Files'
and also making the functionality available for mixed debugging requires
some more thought ...

Change-Id: Id8f55eed9c842b545434a6c608fb34d370a8f8bb
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2011-12-20 15:57:57 +01:00
Kai Koehne
8ae8ed1c11 Debugger: Remove duplicate messages in debugger log
Change-Id: I3ef833ac3550a59c5c5b3b5a5adda60a850863be
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2011-12-07 11:26:50 +01:00
Kai Koehne
80d3ebedca QmlDebugger: Make sure v8 messages show up in the debugger log
Change-Id: Icd65cde2bcb09eaa35cf67399e60e9d9f4484105
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2011-12-07 11:26:41 +01:00
Eike Ziller
85cf2b661e Merge remote-tracking branch 'origin/2.4'
Conflicts:
	src/libs/qmljs/qmljsinterpreter.cpp
	src/libs/qmljs/qmljsinterpreter.h
	src/plugins/debugger/qml/scriptconsole.cpp
	src/plugins/git/gitplugin.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativetiledcanvas.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativetiledcanvas_p.h

Change-Id: Iad59c8d87c72a21c79c047e374c0ab689998af39
2011-11-11 09:46:25 +01:00
hjk
31600758de all: s/info@qt.nokia.com/qt-info@nokia.com/
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-11-03 10:33:19 +01:00
Kai Koehne
8f7411fdad Unify parsing of application output in Debugger and Profiler
Change-Id: I8711f39aa44fea7d1a7091a27d77f5e73d5e4291
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2011-11-01 17:04:15 +01:00
Kai Koehne
eb5a60db14 Debugger: Don't expect that debug output arrives line by line
Sometimes multiple lines arrive at once through the debugger API. Handle
this gracefully for QML engine output tracking by buffering incomplete lines.

Change-Id: I295cf88d1aeb1737aa46e0a9e7ebedb7562e94e4
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2011-11-01 15:08:26 +01:00
Eike Ziller
81cce8902e Merge remote-tracking branch 'origin/2.4'
Conflicts:
	qtcreator.pri
	src/libs/qmljs/qmljscheck.cpp
	src/plugins/debugger/gdb/gdbengine.cpp
	src/plugins/debugger/gdb/remotegdbserveradapter.cpp
	src/plugins/plugins.pro
	src/plugins/projectexplorer/buildmanager.cpp
	src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp

Change-Id: Id2dcebf95b94dc46c1d85908ba1d1378aaf362ac
2011-10-28 10:17:44 +02:00
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
Aurindam Jana
a0134647c3 QmlEngine: Engine State transitions
Rectify wrong state transitions for "Attach to QML Port".

Change-Id: Ife55344fb5089513743ff14f6bb5f2cabeed0adb
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-10-27 11:20:27 +02:00
Aurindam Jana
705472d3d9 QmlEngine: Activate selected frame only in specific states
Selecting a row in stack window activates the frame only if the
state is InferiorStopOk or InferiorUnrunnable, as followed by
gdbengine.

Change-Id: Iad6a16816c0ffd634572f26e1dcf8c3c577502db
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-10-18 10:32:00 +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