En esta página

QQmlDebuggingEnabler Struct

La clase QQmlDebuggingEnabler proporciona métodos para habilitar la depuración o la creación de perfiles. Más...

Cabecera: #include <QQmlDebuggingEnabler>
CMake: find_package(Qt6 REQUIRED COMPONENTS Qml)
target_link_libraries(mytarget PRIVATE Qt6::Qml)
qmake: QT += qml

Tipos públicos

enum StartMode { DoNotWaitForClient, WaitForClient }

Miembros públicos estáticos

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())

Descripción detallada

Normalmente, la depuración y el perfilado de QML se habilitan pasando QT_ENABLE_QML_DEBUG a través de CMake o CONFIG+=qml_debug a través de qmake al compilar la aplicación. En tiempo de ejecución, la aplicación generalmente analiza cualquier argumento de línea de comandos -qmljsdebugger para iniciar realmente la depuración o la creación de perfiles.

Usted puede manejar estas tareas manualmente usando los métodos de esta clase.

Documentación de tipos de miembros

enum QQmlDebuggingEnabler::StartMode

Define el comportamiento de inicio del conector de depuración. Puede interrumpir el inicio de los motores QML mientras se está conectando un cliente de depuración, con el fin de establecer puntos de interrupción o perfilar el código de inicio.

ConstanteValorDescripción
QQmlDebuggingEnabler::DoNotWaitForClient0Ejecuta cualquier motor QML como de costumbre mientras los servicios de depuración se están conectando.
QQmlDebuggingEnabler::WaitForClient1Si un motor QML se inicia mientras los servicios de depuración se están conectando, interrúmpalo hasta que terminen.

Documentación de la función miembro

[static] bool QQmlDebuggingEnabler::connectToLocalDebugger(const QString &socketFileName, QQmlDebuggingEnabler::StartMode mode = DoNotWaitForClient)

Habilita la depuración para los motores QML creados después de llamar a esta función. El conector de depuración se conectará a un depurador que esté esperando en un socket local en el socketFileName dado y bloqueará el motor QML hasta que se establezca la conexión si mode es WaitForClient. Si no se especifica mode no se bloqueará. Sólo se puede iniciar un conector de depuración a la vez. Es posible que ya se haya iniciado un conector de depuración si se ha indicado el argumento de línea de comandos -qmljsdebugger=. Este método devuelve true si se ha iniciado correctamente un nuevo conector de depuración, o false en caso contrario.

[static] QStringList QQmlDebuggingEnabler::debuggerServices()

Recupera las claves de plugin de los servicios de depuración proporcionados por defecto. Los servicios de depuración permiten a un cliente de depuración utilizar un depurador Qml/JavaScript para establecer puntos de interrupción, pausar la ejecución, evaluar expresiones y tareas de depuración similares. Devuelve Lista de claves de plugin de los servicios de depuración por defecto.

[static] void QQmlDebuggingEnabler::enableDebugging(bool printWarning)

Habilite la depuración o la creación de perfiles. Si printWarning es true, imprime la siguiente advertencia en stderr:

QML debugging is enabled. Only use this in a safe environment.

Este método se llama automáticamente al inicio si se pasa QT_ENABLE_QML_DEBUG o CONFIG+=qml_debug en tiempo de compilación.

Este método debe ser llamado de una forma u otra antes de iniciar un conector de depuración de cualquier tipo. De lo contrario, el conector no se iniciará.

Véase también startTcpDebugServer(), connectToLocalDebugger(), y startDebugConnector().

[static] QStringList QQmlDebuggingEnabler::inspectorServices()

Recupera las claves de plugin de los servicios de inspector proporcionados por defecto. Los servicios de inspección permiten a un cliente de depuración utilizar una herramienta de inspección visual para Qt Quick. Devuelve Lista de claves de plugin de los servicios de inspector por defecto.

[static] QStringList QQmlDebuggingEnabler::nativeDebuggerServices()

Recupera las claves de plugin de los servicios de depuración diseñados para ser utilizados con un depurador nativo. El depurador nativo se comunicará con estos servicios leyendo y escribiendo directamente en la memoria de la aplicación. Devuelve Lista de claves de plugin de los servicios de depuración diseñados para ser utilizados con un depurador nativo.

[static] QStringList QQmlDebuggingEnabler::profilerServices()

Recupera los nombres de los servicios de perfilado proporcionados por defecto. Los servicios de perfilado permiten a un cliente de depuración utilizar un perfilador y realizar un seguimiento del tiempo empleado por varias construcciones QML y JavaScript, así como el SceneGraph de QtQuick. Devuelve Lista de claves de plugin de servicios de perfilador predeterminados.

[static] void QQmlDebuggingEnabler::setServices(const QStringList &services)

Restringe los servicios disponibles del conector de depuración. El conector escaneará los plugins en el subdirectorio "qmltooling" de la ruta de plugins por defecto. Si no se llama a esta función antes de habilitar el conector de depuración, todos los servicios encontrados de esa forma estarán disponibles para cualquier cliente. Si se llama a esta función, sólo estarán disponibles los servicios con claves de plugin dadas en services.

Utiliza este método para deshabilitar los servicios del depurador y del inspector cuando realices perfiles para obtener un mejor rendimiento y perfiles más realistas. El servicio depurador pondrá cualquier motor JavaScript al que se conecte en modo interpretado, desactivando el compilador JIT.

Véase también debuggerServices(), profilerServices(), y inspectorServices().

[static] bool QQmlDebuggingEnabler::startDebugConnector(const QString &pluginName, const QVariantHash &configuration = QVariantHash())

Activa la depuración para los motores QML creados después de llamar a esta función. Se cargará un plugin de conector de depuración especificado por pluginName y se iniciará utilizando el configuration dado. Las entradas de configuración admitidas y su semántica dependen del complemento que se cargue. Sólo se puede iniciar un conector de depuración a la vez. Es posible que ya se haya iniciado un conector de depuración si se proporcionó el argumento de línea de comandos -qmljsdebugger=. Este método devuelve true si se ha iniciado correctamente un nuevo conector de depuración, o false en caso contrario.

[static] bool QQmlDebuggingEnabler::startTcpDebugServer(int port, QQmlDebuggingEnabler::StartMode mode = DoNotWaitForClient, const QString &hostName = QString())

Habilita la depuración para motores QML creados después de llamar a esta función. El conector de depuración escuchará en port en hostName y bloqueará el motor QML hasta que reciba una conexión si mode es WaitForClient. Si no se especifica mode no se bloqueará y si no se especifica hostName escuchará en todas las interfaces disponibles. Sólo se puede iniciar un conector de depuración a la vez. Es posible que ya se haya iniciado un conector de depuración si se proporcionó el argumento de línea de comandos -qmljsdebugger=. Este método devuelve true si se ha iniciado correctamente un nuevo conector de depuración, o false en caso contrario.

© 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.