本文主要是介绍Qt WebEngine Debugging and Profiling,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
控制台记录
在Qt WebEngine中执行的JavaScript可以使用Chrome控制台API将信息记录到控制台。日志消息将转发到日志js 记录类别中的 Qt日志记录工具。但是,默认情况下仅打印警告和致命消息。要更改此设置,您必须为js类别设置自定义规则,或者通过重新实现QWebEnginePage :: javaScriptConsoleMessage()或连接到WebEngineView :: javaScriptConsoleMessage()来提供自定义消息处理程序。
也可以通过Qt WebEngine开发人员工具访问所有消息。
Qt WebEngine开发人员工具
Qt WebEngine模块提供Web开发人员工具,可以轻松检查和调试任何Web内容的布局和性能问题。
使用基于Chromium或Qt WebEngine的浏览器(例如Chrome浏览器)将开发人员工具作为本地网页进行访问。
要激活开发人员工具,请使用命令行参数启动使用Qt WebEngine的应用程序:
其中<port_number>指的是本地网络端口。然后,可以通过在该地址启动浏览器来访问Web开发人员工具http://localhost:<port_number>。
或者,可以设置环境变量QTWEBENGINE_REMOTE_DEBUGGING。它可以设置为只是一个–remote-debugging-port与主机地址和端口同样工作的端口。后者可用于控制导出接口的网络接口,以便您可以从远程设备访问开发人员工具。
使用命令行参数
您可以在调试时使用以下命令行参数来为错误报告提供输入:
–disable-gpu禁用GPU硬件加速。这在诊断OpenGL问题时很有用。
–disable-logging 禁用控制台日志记录,这可能对调试版本有用。
–enable-logging --log-level=0启用控制台日志记录并将日志记录级别设置为0,这意味着严重性info及以上级别的消息将记录在日志中。这是调试版本的默认设置。其他可能的日志级别1用于警告,2错误和3致命错误。
–no-sandbox禁用渲染器和插件进程的沙箱。请记住,禁用沙箱可能会带来安全风险。
–single-process在与浏览器相同的进程中运行渲染器和插件。这对于获取渲染器崩溃的堆栈跟踪很有用。
或者,可以设置环境变量QTWEBENGINE_CHROMIUM_FLAGS。例如,可以设置以下值以在调试名为mybrowser的应用程序时禁用日志记录:
- 在chrome浏览器调试前端页面
qputenv(“QTWEBENGINE_REMOTE_DEBUGGING”, “1112”); //使本地可以调试html页面
浏览器输入 localhost:1112 即可
- Qt5.12版本显示audio标签control控件高度异常,参考https://bugre可以ports.qt.io/browse/QTBUG-74484
qputenv(“QTWEBENGINE_CHROMIUM_FLAGS”, “–disable-features=UseModernMediaControls”);
这样可以正常显示
- QtWebEngineProcess.exe 崩溃导致白屏,右键无响应。
connect(this, &QWebEngineViewEx::renderProcessTerminated,
this, &WebEngineViewEx::OnRenderReopen); //捕获renderProcessTerminated信号,在OnRenderReopen中重启render,
QTimer::singleShot(0, [this] { reload(); });
- 将QtWebEngineProcess.exe与主进程合二为一。
qputenv(“QTWEBENGINE_CHROMIUM_FLAGS”, “–single-process”);
这篇关于Qt WebEngine Debugging and Profiling的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!