如何调试QtWebEngine沙盒

How to debug QtWebEngine sandboxing

提问人:Kapitan 提问时间:8/21/2023 更新时间:9/6/2023 访问量:60

问:

我们有一个应用程序,可以通过QtWebEngine渲染一些离线文件。该应用程序是多平台的。 然而,最近当在MacOS上升级到Qt6时,渲染停止工作。

如果我关闭QtWebEngine沙盒,它可以工作。该应用程序不使用苹果沙盒。

我没有办法调试出了什么问题。

我运行各种调试输出。

我明白了sandbox initialization failed: empty subpath pattern?

Qt5-Qt6有什么变化吗?如何调试这个?或者如何有非空子路径模式?

macOS QT6 QTweb引擎

评论


答:

0赞 苏李明洲 9/6/2023 #1

我有同样的情况.pyqt6.5.0,pyinstaller5.1 我的窗户没问题。 但我的 mac(m1 和 intel)都不是。 当我添加 os.environ['QTWEBENGINE_DISABLE_SANDBOX']='1' 我的程序将记录 malloc:释放对象0x1538c0bc0的校验和不正确:可能在释放后进行了修改。 malloc: *** 在malloc_error_break中设置断点进行调试

当我不这样做时 屏幕将空白并显示 沙盒初始化失败:空子路径模式 沙盒初始化失败:空子路径模式

我不知道如何解决它

评论

1赞 Kapitan 9/8/2023
在 C++ 中,我们使用 那种帮助...由于我们的应用程序仅使用 webengine 来加载静态本地文件并将它们呈现给用户。但我们希望做得更好。qputenv( "QTWEBENGINE_CHROMIUM_FLAGS", qgetenv( "QTWEBENGINE_CHROMIUM_FLAGS" ) + " --no-sandbox" );