Commit Graph

107 Commits

Author SHA1 Message Date
Kai Koehne
7f09d0b756 Merge QML inspector into debugger plugin
Merge QmlJSInspector plugin into the debugger. Also merge the
extra Inspector window with the Locals & Watchers: It now shows
the QML object tree in the running state.

Change-Id: I59ae0c1b970a48ba10ecda92ed3ba765d94b1d9c
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-05-09 12:42:44 +02:00
Kai Koehne
4d3395b990 QmlDebug: Rename library and (most) classes
Rename the QmlJSDebugClient lib to QmlDebug (shorter names, easier differentiation with the shared/qmljsdebug lib).

Also rename
 - QDeclarativeDebug* classes to QmlDebug*
 - QDeclarativeOutputParser class to QmlOutputParser

To clarify the features,
 - Debugger::QmlDebuggerClient is now Debugger::BaseQmlDebuggerClient
 - QmlEngineDebugClient is now BaseEngineDebugClient
 - QmlDebuggerClient is now QmlEngineDebugClient
 - QDeclarativeEngineDebugClient is now DeclarativeEngineDebugClient

Change-Id: Ie15713730a614c8ab4b637fad0924f95b54e633f
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-04-18 14:31:36 +02:00
Aurindam Jana
3d32f42b7d Debugging: Pass a DebuggingLanguage arg in executeDebuggerCommand()
Change-Id: I99eedc86c987615072b7400051b61700b98ebab3
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-10 13:12:10 +02:00
Aurindam Jana
13e8ff6f03 QmlJSInspector: Enable/Disable based on engine state
Change-Id: I078d12fb16fe61908e5b90ebf819c9fd9e8faae0
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-30 15:06:46 +02:00
Oswald Buddenhagen
dbcaadd8af Merge remote-tracking branch 'origin/2.5'
Conflicts:
	src/plugins/debugger/qml/qmlengine.cpp
	src/plugins/qtsupport/gettingstartedwelcomepage.cpp

Change-Id: I9157b9b9c05564ddeb3c72cec6b59523b8165d76
2012-03-22 15:09:50 +01:00
Aurindam Jana
4cd2e32659 QmlEngineDebugClient: Simplify the client and utility classes
Change-Id: I86033bdbdef94c6f17e706f8e13ce390969171c6
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-22 14:21:34 +01:00
Aurindam Jana
3d1f5bd85c QtMessageLogHandler: Fix crash
Set a parent when creating QtMessageLogItem.

Change-Id: I8faf76059dcc517794a4eb3d202bc14cd1632ca8
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-22 10:53:10 +01:00
Aurindam Jana
06ae4b3512 QDeclarativeEngineDebug: Rename class
Renamed to QmlEngineDebugClient

Change-Id: I200e8ccf23a3464e2b6ad07288d17228118e905f
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-21 14:29:33 +01:00
Aurindam Jana
d97768f96b QmlDebugging: Connect for Run In Terminal
Connect to Qml Debug Server for Run In Terminal.

Task-number: QTCREATORBUG-7057
Change-Id: Ieb166e4fc74cad2ef7a3774e0156cdbf07e8dc56
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2012-03-15 10:35:59 +01:00
Kai Koehne
ccc55a6149 Debugger: Properly exit when engine run failed
Instantly stop the engine if e.g. the port is blocked. If we let
it running until the user closes the dialog, the timeout for automatic
connects would be triggered, and we'd get yet another dialog afterwards
telling the user that the connection failed.

Change-Id: Ifd0e9d743f3b8f4ba853be032d9527559ef6004e
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-03-15 10:21:32 +01:00
Aurindam Jana
2cf515d8f2 QmlV8DebuggerClient: Change breakpoint line number
V8 Debugger does not support changing line numbers of active
brekpoints. Remove the existing breakpoint and add a new one.

Change-Id: I0e6302d6d911887890d674960cc241f89c4cdc96
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-12 14:00:37 +01:00
Aurindam Jana
fd82e54a5b QmlV8DebuggerClient: Relocate breakpoints
Walk the AST to find probable "breakable" code positions
and relocate breakpoints.

Change-Id: I3033bb85b21436face8265661aa8779c63dcf960
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-02-29 18:51:30 +01:00
Aurindam Jana
6668ee1317 QmlCppDebugger: Shutdown engine on port busy
Shutdown the debugger engines when the qmljsdebugger port
is busy.

Change-Id: If7f470b04bae26f3bac11863f697b260b463ca4e
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-02-28 15:44:38 +01:00
Aurindam Jana
a167498ea1 ScriptConsole: Show File and Line Info
Show File and Line Info for items that have the info. Clicking
on the item opens the file and sets the cursor position on
the line. The context menu also provides option to copy contents
and option to clear the view.

Change-Id: I161de392ba35e37d323b049371619b01c617c798
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-02-27 11:01:13 +01:00
Kai Koehne
742019e301 Debugger: Fix QML-only debugging on Harmattan
Actually wait for the 'Waiting for debugger on port ' ... message
to appear in the application output before connecting, and also
use the port specified there.

Change-Id: Ib498e5306bc49f2f3d468353b1c5d1ea38a809e6
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
2012-02-23 15:46:46 +01:00
Aurindam Jana
9720c0d737 QmlDebugging: Show Object Tree in Console
Show QML/Javascript objects as a tree when
evaluated in the console.

Change-Id: I42901bf9bda3f18fb9fb1ca309a8370ccbe37c0a
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-02-21 12:51:42 +01:00
Aurindam Jana
147396d764 ScriptConsole: Refactor to QtMessageLogWindow
Move QML/JS independent classes to common Debugger
code. A Debugger Engine needs to override
evaluateScriptExpression() to provide engine
specific script evaluation.

Change-Id: I02b23b380a3eb1b12003b30ded0b7d075e44dfed
Reviewed-by: hjk <qthjk@ovi.com>
2012-02-20 17:51:05 +01:00
Erik Verbruggen
3fa55b7ab9 Removed module names from #include directives.
Getting the #include directives ready for Qt5. This includes the
new-project wizards.

Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-15 16:24:46 +01:00
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
hjk
08723ba2fb Compile fix with namespaces
Change-Id: I4104cf431643d559934f78a42046a3a8f1901e9b
Reviewed-by: hjk <qthjk@ovi.com>
2011-12-21 11:52:37 +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
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
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
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
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
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
Tobias Hunger
aa2acec14c Fix/add copyright headers
Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
2011-05-06 15:17:05 +02:00
con
2cf76ead26 Move OutputFormatter to Utils lib. 2011-04-26 10:45:21 +02:00
Christiaan Janssen
5692120ee3 QmlDebugger: synchronize watches when deleted
Reviewed-by: Kai Koehne
2011-04-21 12:28:11 +02:00
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00
Christiaan Janssen
7100d29f66 QmlDebugger: user input on watches
Reviewed-by: hjk
2011-03-24 13:21:30 +01:00
Christiaan Janssen
fd66f68671 QmlDebugger: Watchers
Reviewed-by: hjk
2011-03-24 13:12:57 +01:00
Kai Koehne
20189574f6 QmlJsDebugger: Handle breakpoints in qrc:// resources more gracefully
Reviewed-by: Christiaan Janssen
2011-03-02 14:45:20 +01:00
Kai Koehne
5f426c2382 QmlDebug: Make error dialogs non-blocking and shorter 2011-02-24 10:05:09 +01:00
Kai Koehne
1a3ed101cb QmlDebug: Parse application output to track debugees state
Setting up the debugger connection might fail for a couple of reasons.
Check the application output to show the user a more detailed error
message.

Reviewed-by: hjk
2011-02-23 17:02:34 +01:00
hjk
5f38a26c9e debugger: fix 'Jump To/Run to' when in instruction-wise mode 2011-02-23 11:11:39 +01:00
Friedemann Kleint
c74da9b7c5 Debugger: Reduce tooltip flicker.
Move tooltip-request handling from DebuggerPlugin into
DebuggerToolTipManager.

Request tooltip only if position changed and close
standard tooltip on success.
2011-02-17 10:11:23 +01:00
Kai Koehne
a24ae63c9f QmlDebugger: Remove unused code 2011-02-16 14:51:02 +01:00
Christian Kandeler
f08e42f9ec Maemo: Fix QML debugging.
In general, at least. Does not actually stop at breakpoints yet.
2011-02-11 16:03:34 +01:00
Friedemann Kleint
0ac879e39f Debugger: Make tooltips pinnable.
Replace old debugger tooltip by a new ToolTipManager which
has a list of AbstractDebuggerToolTipWidget with the functionality
to 'acquire' an engine (display its data) and 'release' it
(store engine data and display them as 'previous') and serialization
to XML session data.
DebuggerTreeViewToolTipWidget implements AbstractDebuggerToolTipWidget
for tree model acting as  a filter on watch models.

Rubber-stamped-by: hjk
2011-02-11 15:09:02 +01:00