/**************************************************************************** ** ** 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:FDL$ ** Commercial Usage ** Licensees holding valid Qt Commercial licenses may use this file in ** accordance with the Qt Commercial License Agreement provided with the ** Software or, alternatively, in accordance with the terms contained in a ** written agreement between you and Nokia. ** ** GNU Free Documentation License ** Alternatively, this file may be used under the terms of the GNU Free ** Documentation License version 1.3 as published by the Free Software ** Foundation and appearing in the file included in the packaging of this ** file. ** ** 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. */