Commit Graph

74 Commits

Author SHA1 Message Date
Aurindam Jana
6067411db4 Debugger: Remove old code
Version specific snippets were introduced to
avoid incompatibilities during Qt5 development.

Change-Id: I60fa9beafc9d55b687c08e13cdf531baecb10fbb
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-10-01 11:07:15 +02:00
Friedemann Kleint
5b69bee198 Use QT_NO_CAST_FROM_ASCII for debugger plugin.
Fix gdmi escape routine by using a traits class to adapt
QByteArray/QString.

Change-Id: Ic6d2a0c927e4613aec9f69095bbb04a393e9edb9
Reviewed-by: hjk <qthjk@ovi.com>
2012-08-24 09:46:25 +02:00
Friedemann Kleint
2f51579fe4 Debugger: Fix string usages.
- Compile with QT_NO_CAST_FROM_ASCII.
- Remove single character string constants.

Change-Id: Icece98619b6c30e047d3fce00e6ae74bbcd53c67
Reviewed-by: hjk <qthjk@ovi.com>
2012-08-22 12:24:24 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00
Aurindam Jana
88dcefe0e1 QmlDebugger: Edit breakpoints
Remove and add breakpoint when a breakpoint is edited.

Change-Id: Idb231c0e9d44fe295007b299660fcbe3a980a252
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2012-06-06 14:15:46 +02:00
Aurindam Jana
45540a30db QmlDebugging: Save few cycles
Change-Id: I6d094605e3983128b844f2156909b98a4016509f
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-31 16:03:28 +02:00
hjk
e11a3a7697 debugger: rework WatchModel
It's one model for all locals, watch, return, tooltip and inspector
data. This allows more streamlined code paths and better isolation
of the model data from the WatchHandler. WatchItems are now registered
in a hash indexed by iname, so inames can be used as the primary
handle to watch data in the WatchHandler interface.

Change-Id: Idac0a808b5d785307496d1de4198a1f2e9ce3880
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-05-24 14:33:34 +02:00
Aurindam Jana
9d5cf49630 QmlV8DebuggerClient: Remove unused code
Change-Id: I4b0e04f6914629cc706831515839ecca99079909
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-05-02 15:15:42 +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
459f00642b QmlDebugger: Refactor QML Signal Handler
Refactor QML Signal Handler to QML Signal Emit. This is because the
debugger breaks when a matching signal is emitted irrespective of
whether there is a handler connected to the signal.

Change-Id: I852ace75c1962290717ed127ac5938d7505b9a7e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-16 12:40:59 +02:00
Aurindam Jana
a7c1f55eba QmlV8DebuggerClient: Skip internal frames
Change-Id: Id7555807a0fc4d796035c922c04d5d7ced512d81
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-04-10 14:37:07 +02: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
380a32d4fa QmlDebugging: Fix 'this' in Locals And Watchers
Incase of global object, query the children only when
needed as the response takes a lot of time. Remove cached
requests when switching stack frames so that stale responses
are not parsed.

Change-Id: I70887773952ecaa61da21077ffec321fd5fabbb1
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-21 16:29:47 +01:00
Aurindam Jana
44de30e769 QmlDebugging: Fix Watched Expressions
The data response was incorrectly parsed for watched expressions.
This patch fixes the parsing. It also fixes removal and readdition
of a watched expression.

Change-Id: I1a9e2db3d4963d7fe12ed468ae5466a106011487
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-21 15:03:14 +01:00
Aurindam Jana
41a66d7478 QmlV8DebuggerClient: Make breakpoint non-pending
Make breakpoint non-pending when the breakpoint is accepted
by the v8 debugger.

Change-Id: Id67ce764ef6be9279d3fcc0f34734e5ac9541425
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-14 14:47:36 +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
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
45b806564d QmlDebugging: Fix Regression
Fix Run to Line functionality. Regresseion was introduced by
fd82e54a5b

Change-Id: Ie2d3eb3d0df7ba73950c4d3c70ab25b9e7f7ab36
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-01 12:07:53 +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
6488b69ef3 QmlV8DebuggerClient: Remove code for older service version
The base service version of QV8DebugService is now 2.0
Support for older versions is not required anymore.

Change-Id: I5eb58ea64b1a621c853bdf236abf5412a704cbac
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-02-28 15:44:57 +01:00
Aurindam Jana
0a2140f5e8 QmlCppDebugger: Handling Stack
Use a common stackhandler in the mixed engine
instead of individual stackhandlers in qml engine
and cpp engine.

Change-Id: If363fabb32ae7c6e652452ca2b2fbf8593e684a5
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-02-28 15:44:48 +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
Eike Ziller
d66acb51d0 Rename IFile->IDocument and FileManager->DocumentManager
And adapt the other API respectively.

Change-Id: I1e04e555409be09242db6890f9e013396f83aeed
Reviewed-by: Bill King <bill.king@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-20 13:32:49 +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
2931a499e6 Long live the king!
Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-26 19:55:36 +01:00
Aurindam Jana
2d88b3d905 QmlDebugging: Evaluating expression
Update Locals when evaluating expression and also when
activating a specific stack frame.

Change-Id: I40ef12e980e67add98c7cad1ec4cd615bf4763ec
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-01-11 16:02:17 +01:00
Aurindam Jana
ed2f41bb58 QmlDebugging: Remove BreakpointByFunction
Remove BreakpointByFunction capability as it is not supported
by the v8debugservice.

Change-Id: I60e3d0d6f5669f83fa621cd99f25512cad3dbb96
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-01-09 16:18:35 +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
Aurindam Jana
bcd9bbb6f5 QmlDebugging: Breakpoint data
Set the function name in the break parameters when the breakpoint
is hit.

Change-Id: I40d13f273808f7ea44a7fd8c41284ee7f476d286
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-01-09 10:41:43 +01:00
Aurindam Jana
83196c2611 QmlDebugging: Handle interrupt
Handle the case where debug break is due to interrupt
and not due to hitting a breakpoint.

Change-Id: I080ef779558432f9285fb94aaed548ecf476fb91
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-01-07 22:05:05 +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
Kai Koehne
bfbdec8427 Avoid hitting the anonymous wrapper functions in .qml file
QtDeclarative generates anonymous wrapper functions for QML bindings
and slots, e.g.

    onPressed(): { i++ }

becomes

(function (onPressed) { i++ } )

v8 will by default break when the anonymous function is called, not
when the actual code is executed. If we now hit this outer function
we'll relocate the breakpoint to column = 1, and continue.

Change-Id: Ieea4f4ea4fbf21d7245a6243fc36d141948ef2ce
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2011-12-21 11:22:17 +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
Yuchen Deng
2cb7c6adcf QML Debugger: Fix warning
Change-Id: If6678115cb2730d61ee9d0e64a81aeffad183f82
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-12-20 08:46:59 +01:00
Aurindam Jana
567dd0a5c5 QmlV8DebuggerClient: Watched Expressions
Expand watched expressions.

Change-Id: Ic4e5860931f3a7c6a33f37697585f43d7c2664a0
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-12-19 19:34:33 +01:00
Aurindam Jana
b4ca00bb69 Fix build break
Change-Id: I78825294251b364b471b37479f3ae57893e4f903
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2011-12-16 13:25:27 +01:00
Aurindam Jana
0c6f060e7e QmlV8DebuggerClient: Log the V8 Version
Change-Id: Ie51db80902a3dbc1fcfe352eb770965555551dba
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-12-16 13:12:29 +01:00
Aurindam Jana
828f8a2cbd QmlV8DebuggerClient: Evaluate expressions
Check if the current stack frame is usable before
sending eval request to v8.

Change-Id: Ief687516b1b4a323c2b602f1b54d83ff7661bed4
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-12-16 13:12:20 +01:00
Aurindam Jana
a4b63e5796 QmlV8DebuggerClient: Changes related to v8DebugService protocol
V8DebugService uses a different protocol. This fix now uses the
new protocol. It also optimizes the number of debug requests made
to retrieve debug information.

Change-Id: I40d7b1d4ab0535831c6a19cadd9b48763934c1de
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-12-16 13:12:07 +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
Yuchen Deng
fd4e21b685 Debugger: Fix warning
warning: C4819: The file contains a character that cannot be represented
in the current code page (936).
Save the file in Unicode format to prevent data loss.

Change-Id: I33ff1b1295df234da9cf42efc5d3745c316f6528
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-12-07 10:32:01 +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
Aurindam Jana
727dd1b167 QmlV8DebuggerClient: Evaluate Expression
V8 engine may return an anonymous event for Evaluation of an expression
instead of a response, if the expression has syntax error. This fix
handles this particular case.

Change-Id: Ic89252b04eb4d6f7e6b0b2e03067f031f1f446ed
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-11-08 14:47:05 +01:00
Aurindam Jana
5cc536cd5a QmlV8DebuggerClient: Watched Expressions
Show errors in evaluating watched expressions in the watch window
and not in the console.

Change-Id: I4792d54268bcdef085aa4dab091c5f27a4a01c02
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-11-07 12:33:38 +01:00
Aurindam Jana
ab3d07a23d QmlV8DebuggerClient: Optimize debug requests
Do not send duplicate and redundant requests.
Use a queue to ensure processing of one request at a time
during a debug break

Change-Id: I086ef3b578922fb247f9d35f9759855227e63eaa
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-11-07 10:44:58 +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
Aurindam Jana
717acb6bf4 QmlV8DebuggerClient: Local Variables
Show "this" data in the locals window.
If handle is not present in ref list then fetch Local data
asynchronously. Insert the data when lookup request succeeds.

Change-Id: Ie342bcb963b76b8fcdb958979b59fb084fe50e51
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-11-01 13:34:14 +01:00