Spec-Zone.ru › Qt

Отладка и профилирование Qt WebEngine

Ведение журнала консоли

JavaScript, выполняемый внутри Qt WebEngine, может использовать API консоли Chrome, чтобы регистрировать информацию в консоли. Сообщения об ошибках передаются в средства ведения журнала Qt внутри js категории ведения журнала. Однако по умолчанию выводятся только предупреждения и фатальные сообщения. Чтобы изменить это, необходимо либо установить пользовательские правила для js категории, либо предоставить пользовательские обработчики сообщений, переопределяя QWebEnginePage::javaScriptConsoleMessage() или подключившись к WebEngineView::javaScriptConsoleMessage().

Все сообщения также доступны через инструменты разработчика Qt WebEngine.

Инструменты разработчика Qt WebEngine

Модуль Qt WebEngine предоставляет инструменты разработчика веб-приложений, которые упрощают инспекцию и отладку проблем с макетом и производительностью любого веб-контента.

Доступ к инструментам разработчика осуществляется как к локальной веб-странице с помощью браузера на основе Chromium или Qt WebEngine, например, браузера Chrome.

Чтобы активировать инструменты разработчика, запустите приложение, использующее Qt WebEngine, со следующими аргументами командной строки:

--remote-debugging-port=<port_number>

Где <port_number> относится к локальному сетевому порту. К инструментам разработчика веб-приложений затем можно получить доступ, запустив браузер по адресу http://localhost:<port_number>.

В качестве альтернативы можно задать переменную среды QTWEBENGINE_REMOTE_DEBUGGING. Она может быть задана только с портом, работающим аналогично --remote-debugging-port или задать адрес хоста и порт. Последнее может использоваться для управления сетевым интерфейсом для экспорта, таким образом, вы можете получить доступ к инструментам разработчика с удаленного устройства.

Подробное описание возможностей инструментов разработчика см. на странице Chrome DevTools.

Использование аргументов командной строки

Вы можете использовать следующие аргументы командной строки во время отладки, чтобы предоставить данные для отчетов об ошибках:

  • --disable-gpu отключает ускорение аппаратного ускорения GPU. Это полезно при диагностике проблем с OpenGL.
  • --disable-logging отключает ведение журнала консоли, что может быть полезно для отладочных сборок.
  • --enable-logging --log-level=0 включает ведение журнала консоли и устанавливает уровень ведения журнала в 0, что означает, что сообщения с уровнем серьезности info и выше записываются в журнал. Это значение по умолчанию для отладочных сборок. Другие возможные уровни ведения журнала: 1 для предупреждений, 2 для ошибок и 3 для фатальных ошибок.
  • --v=1 Увеличивает уровень ведения журнала сверх возможностей --log-level и включает ведение журнала отладочных сообщений до уровня подробности 1. Более высокое значение еще больше увеличивает подробность, но может привести к большому количеству записываемых сообщений. Значение по умолчанию 0 (без отладочных сообщений).
  • --no-sandbox отключает песочницу для процессов рендеринга и плагинов. Имейте в виду, что отключение песочницы может представлять собой угрозу безопасности.
  • --single-process запускает процессы рендеринга и плагинов в том же процессе, что и браузер. Это полезно для получения стеков вызовов для сбоев рендеринга.
  • --enable-features=NetworkServiceInProcess запускает сетевые операции в основном процессе. Это может помочь в управлении брандмауэром, так как только исполняемый файл приложения потребуется добавить в белый список, а не QtWebEngineProcess. Однако это означает потерю безопасности, обеспечиваемой песочницей для сетевого сервиса.

В качестве альтернативы можно установить переменную среды QTWEBENGINE_CHROMIUM_FLAGS. Например, следующее значение можно установить для отключения ведения журнала во время отладки приложения с именем mybrowser:

QTWEBENGINE_CHROMIUM_FLAGS="--disable-logging" mybrowser

QTWEBENGINE_CHROMIUM_FLAGS также можно установить с помощью {qputenv} внутри приложения, если оно вызывается до QtWebEngineQuick::initialize().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qtwebengine-debugging.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API