QQmlDebuggingEnabler Struct
La classe QQmlDebuggingEnabler fournit des méthodes permettant d'activer le débogage ou le profilage. Plus d'informations...
| En-tête : | #include <QQmlDebuggingEnabler> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Qml)target_link_libraries(mytarget PRIVATE Qt6::Qml) |
| qmake : | QT += qml |
Types publics
| enum | StartMode { DoNotWaitForClient, WaitForClient } |
Membres publics statiques
| bool | connectToLocalDebugger(const QString &socketFileName, QQmlDebuggingEnabler::StartMode mode = DoNotWaitForClient) |
| QStringList | debuggerServices() |
| void | enableDebugging(bool printWarning) |
| QStringList | inspectorServices() |
| QStringList | nativeDebuggerServices() |
| QStringList | profilerServices() |
| void | setServices(const QStringList &services) |
| bool | startDebugConnector(const QString &pluginName, const QVariantHash &configuration = QVariantHash()) |
| bool | startTcpDebugServer(int port, QQmlDebuggingEnabler::StartMode mode = DoNotWaitForClient, const QString &hostName = QString()) |
Description détaillée
Habituellement, le débogage et le profilage QML sont activés en passant QT_ENABLE_QML_DEBUG via CMake ou CONFIG+=qml_debug via qmake lors de la construction de votre application. Au moment de l'exécution, l'application analyse généralement les arguments de la ligne de commande -qmljsdebugger pour lancer le débogage ou le profilage.
Vous pouvez gérer ces tâches manuellement en utilisant les méthodes de cette classe.
Type de membre Documentation
enum QQmlDebuggingEnabler::StartMode
Définit le comportement de démarrage du connecteur de débogage. Vous pouvez interrompre le démarrage des moteurs QML pendant qu'un client de débogage se connecte, afin de définir des points d'arrêt dans le code de démarrage ou de le profiler.
| Constante | Valeur | Description de la constante |
|---|---|---|
QQmlDebuggingEnabler::DoNotWaitForClient | 0 | Exécute tous les moteurs QML comme d'habitude pendant que les services de débogage se connectent. |
QQmlDebuggingEnabler::WaitForClient | 1 | Si un moteur QML démarre pendant que les services de débogage se connectent, interrompez-le jusqu'à ce qu'ils aient terminé. |
Documentation des fonctions membres
[static] bool QQmlDebuggingEnabler::connectToLocalDebugger(const QString &socketFileName, QQmlDebuggingEnabler::StartMode mode = DoNotWaitForClient)
Active le débogage des moteurs QML créés après l'appel de cette fonction. Le connecteur de débogage se connectera à un débogueur en attente sur un socket local à l'adresse socketFileName et bloquera le moteur QML jusqu'à ce que la connexion soit établie si mode est WaitForClient. Si mode n'est pas spécifié, il ne bloquera pas. Vous ne pouvez démarrer qu'un seul connecteur de débogage à la fois. Un connecteur de débogage peut avoir déjà été démarré si l'argument de ligne de commande -qmljsdebugger= a été donné. Cette méthode renvoie true si un nouveau connecteur de débogage a été démarré avec succès, ou false dans le cas contraire.
[static] QStringList QQmlDebuggingEnabler::debuggerServices()
Récupère les clés de plugin des services de débogage fournis par défaut. Les services de débogage permettent à un client de débogage d'utiliser un débogueur Qml/JavaScript, afin de définir des points d'arrêt, d'interrompre l'exécution, d'évaluer des expressions et d'autres tâches de débogage similaires. Retourne la liste des clés de plugin des services de débogage par défaut.
[static] void QQmlDebuggingEnabler::enableDebugging(bool printWarning)
Activer le débogage ou le profilage. Si printWarning est true, l'avertissement suivant est affiché sur stderr :
QML debugging is enabled. Only use this in a safe environment.
Cette méthode est automatiquement appelée au démarrage si QT_ENABLE_QML_DEBUG ou CONFIG+=qml_debug est passé au moment de la construction.
Cette méthode doit être appelée d'une manière ou d'une autre avant de démarrer un connecteur de débogage, quel qu'il soit. Sinon, le connecteur refusera de démarrer.
Voir aussi startTcpDebugServer(), connectToLocalDebugger() et startDebugConnector().
[static] QStringList QQmlDebuggingEnabler::inspectorServices()
Récupère les clés de plugin des services d'inspection fournis par défaut. Les services d'inspection permettent à un client de débogage d'utiliser un outil d'inspection visuelle à l'adresse Qt Quick. Retourne la liste des clés d'extension des services d'inspection par défaut.
[static] QStringList QQmlDebuggingEnabler::nativeDebuggerServices()
Récupère les clés de plugin des services de débogage conçus pour être utilisés avec un débogueur natif. Le débogueur natif communiquera avec ces services en lisant et en écrivant directement dans la mémoire de l'application. Retourne la liste des clés d'extension des services de débogage conçus pour être utilisés avec un débogueur natif.
[static] QStringList QQmlDebuggingEnabler::profilerServices()
Récupère les noms des services de profilage fournis par défaut. Les services de profilage permettent à un client de débogage d'utiliser un profileur et de suivre le temps pris par diverses constructions QML et JavaScript, ainsi que le SceneGraph QtQuick. Returns Liste des clés de plugin des services de profilage par défaut.
[static] void QQmlDebuggingEnabler::setServices(const QStringList &services)
Restreint les services disponibles à partir du connecteur de débogage. Le connecteur analysera les plugins dans le sous-répertoire "qmltooling" du chemin des plugins par défaut. Si cette fonction n'est pas appelée avant que le connecteur de débogage ne soit activé, tous les services trouvés de cette manière seront disponibles pour n'importe quel client. Si cette fonction est appelée, seuls les services dont les clés de plugin sont indiquées dans services seront disponibles.
Utilisez cette méthode pour désactiver les services de débogage et d'inspection lors du profilage afin d'obtenir de meilleures performances et des profils plus réalistes. Le service de débogage mettra tout moteur JavaScript auquel il se connecte en mode interprété, désactivant ainsi le compilateur JIT.
Voir aussi debuggerServices(), profilerServices() et inspectorServices().
[static] bool QQmlDebuggingEnabler::startDebugConnector(const QString &pluginName, const QVariantHash &configuration = QVariantHash())
Active le débogage pour les moteurs QML créés après l'appel de cette fonction. Un plugin de connecteur de débogage spécifié par pluginName sera chargé et démarré à l'aide de l'adresse configuration. Les entrées de configuration prises en charge et leur sémantique dépendent du plugin chargé. Vous ne pouvez démarrer qu'un seul connecteur de débogage à la fois. Un connecteur de débogage peut avoir déjà été démarré si l'argument de ligne de commande -qmljsdebugger= a été donné. Cette méthode renvoie true si un nouveau connecteur de débogage a été démarré avec succès, ou false dans le cas contraire.
[static] bool QQmlDebuggingEnabler::startTcpDebugServer(int port, QQmlDebuggingEnabler::StartMode mode = DoNotWaitForClient, const QString &hostName = QString())
Active le débogage des moteurs QML créés après l'appel de cette fonction. Le connecteur de débogage écoutera sur port à hostName et bloquera le moteur QML jusqu'à ce qu'il reçoive une connexion si mode est WaitForClient. Si mode n'est pas spécifié, il ne bloquera pas et si hostName n'est pas spécifié, il écoutera sur toutes les interfaces disponibles. Vous ne pouvez démarrer qu'un seul connecteur de débogage à la fois. Un connecteur de débogage peut avoir déjà été démarré si l'argument de ligne de commande -qmljsdebugger= a été donné. Cette méthode renvoie true si un nouveau connecteur de débogage a été démarré avec succès, ou false dans le cas contraire.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.