Spec-Zone.ru › Qt 5.11

Отладка и профилирование 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 отключает аппаратное ускорение графического процессора. Это полезно при диагностике проблем OpenGL.
  • --disable-logging отключает ведение журнала консоли, что может быть полезно для отладочных сборок.
  • --enable-logging --log-level=0 включает ведение журнала консоли и устанавливает уровень ведения журнала в 0, что означает, что сообщения с уровнем серьезности info и выше записываются в журнал. Это значение по умолчанию для отладочных сборок. Другие возможные уровни ведения журнала — 1 для предупреждений, 2 для ошибок и 3 для критических ошибок.
  • --v=1 увеличивает уровень ведения журнала за пределы того, что может --log-level, и включает ведение журнала отладочных сообщений до уровня подробности 1. Более высокое значение ещё больше увеличивает подробность, но может привести к большому количеству записываемых сообщений. По умолчанию значение 0 (нет сообщений отладки).
  • --no-sandbox отключает песочницу для процессов рендеринга и плагинов. Имейте в виду, что отключение песочницы может представлять собой угрозу безопасности.
  • --single-process запускает процессы рендеринга и плагинов в том же процессе, что и браузер. Это полезно для получения стеков вызовов при сбоях рендеринга.

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

QTWEBENGINE_CHROMIUM_FLAGS="--disable-logging" mybrowser

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

Spec-Zone.ru

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