summaryrefslogtreecommitdiffstats
path: root/doc/src/declarative/qdeclarativedebugging.qdoc
blob: 99dd2d28878053e217b7fc6313d844430f6abf54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions
** contained in the Technology Preview License Agreement accompanying
** this package.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights.  These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
**
**
**
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
\page qdeclarativedebugging.html
\title Debugging QML

\section1 Logging

\c console.log can be used to print debugging information to the console. For example:

\qml
Rectangle {
    width: 200; height: 200
    MouseArea {
        anchors.fill: parent
        onClicked: console.log("clicked")
    }
}
\endqml

\section1 Debugging Transitions

When a transition doesn't look quite right, it can be helpful to view it in slow
motion to see what is happening more clearly. This functionality is supported
in the \l {Qt Declarative UI Runtime}{qmlviewer} tool: to enable this,
click on the "Debugging" menu, then "Slow Down Animations".


\section1 Debugging module imports

The \c QML_IMPORT_TRACE environment variable can be set to enable debug output
from QML's import loading mechanisms. 

For example, for a simple QML file like this:

\qml
import Qt 4.7

Rectangle { width: 100; height: 100 }
\endqml

If you set \c {QML_IMPORT_TRACE=1} before running the \l {Qt Declarative UI Runtime}{qmlviewer}
(or your QML C++ application), you will see output similar to this:

\code
QDeclarativeImportDatabase::addImportPath "/qt-sdk/imports" 
QDeclarativeImportDatabase::addImportPath "/qt-sdk/bin/QMLViewer.app/Contents/MacOS" 
QDeclarativeImportDatabase::addToImport 0x106237370 "." -1.-1 File as ""
QDeclarativeImportDatabase::addToImport 0x106237370 "Qt" 4.7 Library as ""
QDeclarativeImportDatabase::resolveType "Rectangle" = "QDeclarativeRectangle"
\endcode


\section1 Debugging with Qt Creator

\l{http://qt.nokia.com/products/developer-tools}{Qt Creator} provides built-in
support for QML debugging. Open a QML project in Creator and enter Debug mode,
or click the "Start Debugging" option from the menu, and Creator will
show QML debugging information and options for your application, including
object inspection, property monitoring and application frame-rate analysis.

Creator can be used to debug both local and remote QML applications. To
enable remote debugging, start the \l {Qt Declarative UI Runtime}{qml} tool
on the remote device with a debugging port defined, like this:

\code
    QML_DEBUG_SERVER_PORT=3768 qml myqmlfile.qml
\endcode

In Creator, open the project settings pane and set the server and port
details for the remote device, then start debugging.

*/