En esta página

Qt WebEngine Depuración y perfiles

Registro en consola

JavaScript ejecutado dentro de Qt WebEngine puede utilizar la API de consola de Chrome para registrar información en una consola. Los mensajes de registro se envían a las instalaciones de registro de Qt dentro de js logging category . Sin embargo, por defecto sólo se imprimen los mensajes de advertencia y de error. Para cambiar esto, tienes que establecer reglas personalizadas para la categoría js, o proporcionar gestores de mensajes personalizados reimplementando QWebEnginePage::javaScriptConsoleMessage(), o conectándote a WebEngineView::javaScriptConsoleMessage().

También se puede acceder a todos los mensajes a través de las herramientas para desarrolladores de Qt WebEngine.

Qt WebEngine Herramientas para desarrolladores

El módulo Qt WebEngine proporciona herramientas para desarrolladores web que facilitan la inspección y depuración de problemas de diseño y rendimiento de cualquier contenido web.

A las herramientas para desarrolladores se accede como una página web local utilizando un navegador basado en Chromium o Qt WebEngine, como el navegador Chrome.

Para activar las herramientas de desarrollo, inicie una aplicación que utilice Qt WebEngine con el argumento de línea de comandos --remote-debugging-port=<portnumber>.

Nota: Cualquier opción de línea de comandos WebEngine debe especificarse después de la opción --webEngineArgs, que se utiliza para separar las opciones específicas de la aplicación del usuario de las de WebEngine.

--webEngineArgs --remote-debugging-port=<portnumber>

Donde <port_number> se refiere a un puerto de red local. Se puede acceder a las herramientas de desarrollo web iniciando un navegador en la dirección http://localhost:<port_number>.

Alternativamente, se puede establecer la variable de entorno QTWEBENGINE_REMOTE_DEBUGGING. Puede establecerse como un puerto que funcione de forma similar a --remote-debugging-port o con una dirección de host y un puerto. Este último puede utilizarse para controlar en qué interfaz de red exportar la interfaz, de forma que pueda acceder a las herramientas de desarrollo desde un dispositivo remoto.

Para evitar errores de WebSocket durante la depuración remota, añada un argumento de línea de comandos adicional --remote-allow-origins=<origin>[,<origin>, ...], donde <origin> hace referencia al origen de la solicitud. Utilice --remote-allow-origins=* para permitir conexiones desde todos los orígenes. Si no se especifica nada, Qt WebEngine añadirá --remote-allow-origins=* a los argumentos de la línea de comandos cuando la depuración remota esté activada, permitiendo así peticiones de todos los orígenes.

Para obtener una explicación detallada de las capacidades de las herramientas para desarrolladores, consulta la página Chrome DevTools.

Uso de argumentos de línea de comandos

Puedes utilizar los siguientes argumentos de la línea de comandos durante la depuración para proporcionar información para los informes de errores:

  • --disable-gpu desactiva la aceleración por hardware de la GPU. Esto resulta útil para diagnosticar problemas de OpenGL.
  • --disable-logging desactiva el registro de la consola, lo que puede ser útil para las compilaciones de depuración.
  • --enable-logging --log-level=0 activa el registro en consola y establece el nivel de registro en 0, lo que significa que los mensajes de gravedad info y superior se registran en el registro. Este es el valor predeterminado para las compilaciones de depuración. Otros niveles de registro posibles son 1 para advertencias, 2 para errores y 3 para errores fatales.
  • --v=1 Aumenta el nivel de registro más allá de lo que puede --log-level, y permite registrar mensajes de depuración hasta el nivel de verbosidad 1. Un número mayor incrementa la verbosidad, pero puede resultar en un gran número de mensajes registrados. Por defecto es 0 (sin mensajes de depuración).
  • --no-sandbox desactiva el sandbox para los procesos de renderizado y plugin. Tenga en cuenta que deshabilitar el sandbox puede presentar un riesgo de seguridad.
  • --single-process ejecuta el renderizador y los plugins en el mismo proceso que el navegador. Esto es útil para obtener trazas de pila de los fallos del renderizador.
  • --enable-features=NetworkServiceInProcess ejecuta la red en el proceso principal. Esto puede ayudar a la gestión del cortafuegos, ya que sólo el ejecutable de la aplicación necesitará estar en la lista blanca y no QtWebEngineProcess. Sin embargo, significa perder la seguridad del sandboxing del servicio de red.

Cualquier opción de línea de comandos WebEngine debe especificarse después de la opción --webEngineArgs, que se utiliza para separar las opciones específicas de la aplicación del usuario de las de WebEngine.

--webEngineArgs [WebEngine specific options]

Alternativamente, se puede establecer la variable de entorno QTWEBENGINE_CHROMIUM_FLAGS. Por ejemplo, el siguiente valor se podría establecer para desactivar el registro mientras se depura una aplicación llamada mybrowser:

QTWEBENGINE_CHROMIUM_FLAGS="--disable-logging" mybrowser

QTWEBENGINE_CHROMIUM_FLAGS también puede establecerse usando qputenv desde dentro de la aplicación si se llama antes de QtWebEngineQuick::initialize().

Volcar información de WebEngineContext

Para volcar la información de WebEngineContext, puede establecer la variable de entorno QT_LOGGING_RULES en "qt.webenginecontext.debug=true".

La salida contiene información sobre el backend gráfico, y la forma en que Qt WebEngine se inicializa para la aplicación. Esto es particularmente útil para reproducir problemas.

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