Commit Graph

440 Commits

Author SHA1 Message Date
Kai Koehne
e6fb0179f3 QmlEngine: Stop connection timer if setup fails
Change-Id: Ibc2a0a311fb1b1af3fc7a6bf486010b31117475b
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-05-10 13:26:59 +02:00
Kai Koehne
49830c48fc QmlEngine: Cleanup
Merge private class back to public one.

Change-Id: I3255036ff60738418e2997dbeba97642afe87558
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-05-10 10:15:20 +02:00
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
Aurindam Jana
2d612a252b QtMessageLogView: Optimize performance
Performance is hit when rendering a large number of messages.
Show text contents that fits a line and expands to show the
complete text when clicked.

Change-Id: I803a8b2da12830172f9e75f86546adf121799a67
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-05-08 10:13:35 +02:00
Kai Koehne
84cb289ae3 QmlJS: Remove 'qmljsprivateapi.h' header
That's a reminiscent of the times when qmljs was just a copy
of the classes in Qt.

Rather include the files individually.

Change-Id: I6ff8541c004ef4dab9d9d4f5011ff6c5a3a0574a
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-04-24 15:46:18 +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
hjk
5b0bf61640 qtcassert: move actual printing to separate function and enforce style
This also allows simple setting of breakpoints on failed asserts.

Change-Id: I6dd84cbfaf659d57e39f3447386cebc0221b2b84
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-04-17 09:53:44 +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
ef643d48ea QmlEngine: Remove unneeded message log
Introduced by 2.5 merge with master
dbcaadd8af

Change-Id: Id85df5a4f6400850cf36453e4e641f7a25ead888
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-03-23 13:24:24 +01: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
Kai Koehne
b6cb86eb53 QmlDebugger: Fix automatic connection setup
Make sure we only try to connect when we're in the right state
(EngineRunRequest). Specifically, stop to connect when the engine
is finished.

Change-Id: Ia4f1f79e8ac5b32ff436e63195516e242d4c120c
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-03-22 14:36:48 +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
b9dfbd8ec3 QtMessageLogHandler: Sorting child items
Insert child items in sorted order if the "Sort Members and
Classes Alphabetically" is set in Locals And Expressions.

Change-Id: Ib21803326ec3f35c9541c08d876c4a38c0202a9f
Reviewed-by: hjk <qthjk@ovi.com>
2012-03-22 12:04:48 +01:00
Aurindam Jana
10478246a9 QtMessageLogHandler: Insert child items in alphabetical order
Change-Id: I644207f5e8b149364e73abf7512240e918260072
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-22 11:03:18 +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
Kai Koehne
fdbdf2d14f QmlEngine: Fix crash when trying to connect
Since we directly called beginConnection in connectionStartupFailed
we got a stack overflow over time. Instead, only try to connect
every 3 seconds.

Also remove special logic for mixed debugging: They should behave
the same (except maybe where you're breaking inside QQmlDebugServer,
but that's a corner case).

Change-Id: Idf2f55e3d905a01065c123c708b50dbb88388d1f
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-03-19 12:06:09 +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
6e0caec046 QmlDebugging: Assign Value in Debugger
Call EXEC instead of SET_PROPERTY for assigning a value
in Locals and Expressions. Also check if the id of the
object is valid before calling EXPAND.

Task-number: QTCREATORBUG-7089
Change-Id: I2769e5345cfb7ecf87e36125821f141821556690
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
2012-03-14 13:55:15 +01:00
Aurindam Jana
f7caba3923 QMLDebugging: Fix crash
Check for null pointers when parsing AST to relocate breakpoint

Change-Id: I484048d9e8a7aabdeffc4e18049c9b9b6f030366
Reviewed-by: Simjees Abraham <simjees.abraham@nokia.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-03-09 09:59:58 +01:00
Kai Koehne
30c21397a6 QmlDebugger: Close connection already in shutdownInferior
Doing it in shutdownEngine was too late for the mixed debugger
case: The client has already exited in this case, leading to
error messages on the (system) console.

Change-Id: Id31214cb7a1bc9530c1da78b872531bc79894f3b
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-03-08 10:11:17 +01:00
Robert Loehning
b41171c847 Normalized connect()s
Change-Id: Id353ab140a46e06ffc3abf667ab3b234e749e17c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-03-06 12:46:52 +01:00
Aurindam Jana
41cbb6cdee QmlDebugging: Fix breakpoint states
For mixed debugging, the ownership of breakpoints is with
the mixed engine so that it can set the state of the breakpoints
correctly on DebuggerFinished.

Change-Id: I0e03493ac997dbca0a34ca65de1eba3690faceba
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-02 12:25:51 +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
d75d70c552 Debugger: Fix "attach to QML port"
In this case we don't get any application output / message
telling us that the server is waiting, so let's try to connect
directly.

This is a regression introduced in commit 742019e301

Change-Id: I85d9f846c72e8b227dae5d6e847ab9366a34e2cc
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-02-27 10:13:42 +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
Kai Koehne
fe8cead2d0 Debugger: Make language to debug (QML/CPP) explicit
Make the choice of language part of the DebuggerStartParameters,
instead of deriving it indirectly from the current project. This
prevents e.g. the QmlCppEngine to be used when loading core files.

Change-Id: I9d1c9ab318ba789abe3a6ea0478ebda71857e793
Reviewed-by: hjk <qthjk@ovi.com>
2012-02-01 12:14:02 +01:00
Kai Koehne
2a02841383 Debugger: Simplify handling of requestRemoteSetup in QmlCppEngine
Just emit the requestRemoteSetup on your own in QmlCppEngine. Also
properly check the related state transitions in DebuggerEngine.

Change-Id: I15dc4236303911126de7eee63ed996bdd8e5c5a8
Reviewed-by: hjk <qthjk@ovi.com>
2012-01-31 14:14:05 +01:00
hjk
4a21f0c3c8 Use new static ICore interface.
Change-Id: I9b690d9b150c8d162b15370f9f8986267c9128f1
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-24 18:48:47 +01:00
hjk
7201923562 debugger: move isCppBreakpoint to Breakpoint
Change-Id: I241401fa010166982e5a95a699c99fbaa87188ef
Reviewed-by: hjk <qthjk@ovi.com>
2012-01-24 17:10:28 +01:00
Kai Koehne
079fc49e91 RemoteGdb: Fix setup for attaching via dialog
Fix regression introduced in 9e8f935a while at the same time decoupling
the 'useServerStartScript' setting from whether the engine uses
requestRemoteSetup, or not.

Task-number: QTCREATORBUG-6841
Change-Id: I0850ec60e0f45ac66ba6736bcb9f75fdf73c1d23
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
2012-01-23 16:19:53 +01:00
Kai Koehne
fc2d8deae3 QmlEngine: Move setup logic from setupInferior to setupEngine
This is more in line with e.g. the gdb engine, which also emits
requestRemoteSetup in setupEngine().

Change-Id: I1c2a4c56d6f190a3043ea8a18d2bb28c9d340826
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-01-17 10:53:16 +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
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