Initial import from the monolithic Qt.
[profile/ivi/qtdeclarative.git] / doc / src / declarative / qdeclarativedebugging.qdoc
1 /****************************************************************************
2 **
3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4 ** All rights reserved.
5 ** Contact: Nokia Corporation (qt-info@nokia.com)
6 **
7 ** This file is part of the documentation of the Qt Toolkit.
8 **
9 ** $QT_BEGIN_LICENSE:FDL$
10 ** No Commercial Usage
11 ** This file contains pre-release code and may not be distributed.
12 ** You may use this file in accordance with the terms and conditions
13 ** contained in the Technology Preview License Agreement accompanying
14 ** this package.
15 **
16 ** GNU Free Documentation License
17 ** Alternatively, this file may be used under the terms of the GNU Free
18 ** Documentation License version 1.3 as published by the Free Software
19 ** Foundation and appearing in the file included in the packaging of this
20 ** file.
21 **
22 ** If you have questions regarding the use of this file, please contact
23 ** Nokia at qt-info@nokia.com.
24 ** $QT_END_LICENSE$
25 **
26 ****************************************************************************/
27
28 /*!
29 \page qdeclarativedebugging.html
30 \title Debugging QML
31
32 \section1 Logging
33
34 \c console.log can be used to print debugging information to the console. For example:
35
36 \qml
37 Rectangle {
38     width: 200; height: 200
39     MouseArea {
40         anchors.fill: parent
41         onClicked: console.log("clicked")
42     }
43 }
44 \endqml
45
46 \section1 Debugging Transitions
47
48 When a transition doesn't look quite right, it can be helpful to view it in slow
49 motion to see what is happening more clearly. This functionality is supported
50 in the \l {QML Viewer} tool: to enable this,
51 click on the "Debugging" menu, then "Slow Down Animations".
52
53
54 \section1 Debugging module imports
55
56 The \c QML_IMPORT_TRACE environment variable can be set to enable debug output
57 from QML's import loading mechanisms. 
58
59 For example, for a simple QML file like this:
60
61 \qml
62 import QtQuick 1.0
63
64 Rectangle { width: 100; height: 100 }
65 \endqml
66
67 If you set \c {QML_IMPORT_TRACE=1} before running the \l {QML Viewer}
68 (or your QML C++ application), you will see output similar to this:
69
70 \code
71 QDeclarativeImportDatabase::addImportPath "/qt-sdk/imports" 
72 QDeclarativeImportDatabase::addImportPath "/qt-sdk/bin/QMLViewer.app/Contents/MacOS" 
73 QDeclarativeImportDatabase::addToImport 0x106237370 "." -1.-1 File as ""
74 QDeclarativeImportDatabase::addToImport 0x106237370 "Qt" 4.7 Library as ""
75 QDeclarativeImportDatabase::resolveType "Rectangle" = "QDeclarativeRectangle"
76 \endcode
77
78
79 \section1 Debugging with Qt Creator
80
81 \l{http://qt.nokia.com/products/developer-tools}{Qt Creator} provides built-in
82 support for QML debugging. QML projects and standalone C++ applications that
83 utilize QML can be debugged on desktops as well as on remote devices.
84 For more information, see the Qt Creator Manual.
85
86 */