Qt WebEngine调试版本崩溃

Jam*_*eng 3 c++ qt qtwebengine

我的项目使用qt webengine。发行版本运行良好,但是当我浏览tumblr.com时,调试版本会很快崩溃。错误消息如下所示。我想知道这是什么信息,以及如何解决它。

版本:

Qt 5.9.4 - msvc2015-32bit
windows 10
Run Code Online (Sandbox Code Playgroud)

错误输出:

[16056:14736:0128/180851.894:WARNING:sqlite_channel_id_store.cc(262)] Server bound cert database is too new.
[16056:14736:0128/180851.894:WARNING:sqlite_channel_id_store.cc(262)] Server bound cert database is too new.
[16056:14736:0128/180851.894:FATAL:sqlite_channel_id_store.cc(203)] Check failed: false. Unable to open cert DB.
Backtrace:
    GetHandleVerifier [0x112471F7+262887]
    QWebEngineUrlSchemeHandler::_q_destroyedUrlSchemeHandler [0x1118256B+3003]
    IsSandboxedProcess [0x12D7FBD5+9233173]
    IsSandboxedProcess [0x1496E3C7+38521607]
    QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x1091BA15+7234709]
    IsSandboxedProcess [0x143ABE13+32482643]
    IsSandboxedProcess [0x143AEE24+32494948]
    QtWebEngineCore::ColorChooserController::reject [0x101A8DBE+48654]
    GetHandleVerifier [0x112538F4+313828]
    IsSandboxedProcess [0x131BF2E2+13687330]
    QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x10242484+52996]
    QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x1024259B+53275]
    QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x10243EF4+59764]
    QtWebEngineCore::ColorChooserController::reject [0x101A8DBE+48654]
    QWebEngineUrlSchemeHandler::_q_destroyedUrlSchemeHandler [0x111CD7C7+310807]
    QWebEngineUrlSchemeHandler::_q_destroyedUrlSchemeHandler [0x111CCC83+307923]
    QWebEngineUrlSchemeHandler::_q_destroyedUrlSchemeHandler [0x11200659+519337]
    QWebEngineUrlSchemeHandler::_q_destroyedUrlSchemeHandler [0x111909EC+61500]
    BaseThreadInitThunk [0x76678654+36]
    RtlGetAppContainerNamedObjectPath [0x77834A77+311]
    RtlGetAppContainerNamedObjectPath [0x77834A47+263]

[16056:14736:0128/180851.894:FATAL:sqlite_channel_id_store.cc(203)] Check failed: false. Unable to open cert DB.
Backtrace:
    GetHandleVerifier [0x112471F7+262887]
    QWebEngineUrlSchemeHandler::_q_destroyedUrlSchemeHandler [0x1118256B+3003]
    IsSandboxedProcess [0x12D7FBD5+9233173]
    IsSandboxedProcess [0x1496E3C7+38521607]
    QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x1091BA15+7234709]
    IsSandboxedProcess [0x143ABE13+32482643]
    IsSandboxedProcess [0x143AEE24+32494948]
    QtWebEngineCore::ColorChooserController::reject [0x101A8DBE+48654]
    GetHandleVerifier [0x112538F4+313828]
    IsSandboxedProcess [0x131BF2E2+13687330]
    QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x10242484+52996]
    QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x1024259B+53275]
    QtWebEngineCore::JavaScriptDialogController::qt_static_metacall [0x10243EF4+59764]
    QtWebEngineCore::ColorChooserController::reject [0x101A8DBE+48654]
    QWebEngineUrlSchemeHandler::_q_destroyedUrlSchemeHandler [0x111CD7C7+310807]
    QWebEngineUrlSchemeHandler::_q_destroyedUrlSchemeHandler [0x111CCC83+307923]
    QWebEngineUrlSchemeHandler::_q_destroyedUrlSchemeHandler [0x11200659+519337]
    QWebEngineUrlSchemeHandler::_q_destroyedUrlSchemeHandler [0x111909EC+61500]
    BaseThreadInitThunk [0x76678654+36]
    RtlGetAppContainerNamedObjectPath [0x77834A77+311]
    RtlGetAppContainerNamedObjectPath [0x77834A47+263]

The program has unexpectedly finished.
The process was ended forcefully.
Run Code Online (Sandbox Code Playgroud)

WebView初始化:

view_ = new WebView(widget_);
QWebEnginePage *page = new QWebEnginePage(view_);
view_->setPage(page);

page->settings()->setAttribute(QWebEngineSettings::AutoLoadImages, true);
page->settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, true);
page->settings()->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, true);
page->settings()->setAttribute(QWebEngineSettings::JavascriptCanAccessClipboard, true);
page->settings()->setAttribute(QWebEngineSettings::LinksIncludedInFocusChain, true);
page->settings()->setAttribute(QWebEngineSettings::LocalStorageEnabled, true);
page->settings()->setAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls, true);
page->settings()->setAttribute(QWebEngineSettings::XSSAuditingEnabled, true);
page->settings()->setAttribute(QWebEngineSettings::SpatialNavigationEnabled, true);
page->settings()->setAttribute(QWebEngineSettings::LocalContentCanAccessFileUrls, true);
page->settings()->setAttribute(QWebEngineSettings::HyperlinkAuditingEnabled, true);
page->settings()->setAttribute(QWebEngineSettings::ScrollAnimatorEnabled, true);
page->settings()->setAttribute(QWebEngineSettings::ErrorPageEnabled, true);
page->settings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
page->settings()->setAttribute(QWebEngineSettings::FullScreenSupportEnabled, true);
page->settings()->setAttribute(QWebEngineSettings::ScreenCaptureEnabled, true);
page->settings()->setAttribute(QWebEngineSettings::WebGLEnabled, true);
page->settings()->setAttribute(QWebEngineSettings::Accelerated2dCanvasEnabled, true);
page->settings()->setAttribute(QWebEngineSettings::HyperlinkAuditingEnabled, true);
page->settings()->setAttribute(QWebEngineSettings::AutoLoadIconsForPage, true);
page->settings()->setAttribute(QWebEngineSettings::TouchIconsEnabled, true);

cookie_ = new CookieJar(this); // for cookie sync

page->profile()->setPersistentStoragePath(gVar.getCachePath());
page->profile()->setCachePath(gVar.getCachePath());
page->profile()->setHttpCacheMaximumSize(100 * 1024 * 1024);
page->profile()->setHttpCacheType(QWebEngineProfile::DiskHttpCache);
page->profile()->setHttpUserAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36");
page->profile()->setPersistentCookiesPolicy(QWebEngineProfile::ForcePersistentCookies);

connect(view_->page(), SIGNAL(loadFinished(bool)),
        SLOT(pageLoadFinished()), Qt::QueuedConnection);

QUrl url = QUrl::fromUserInput(kMainPageUrl);
view_->setUrl(url);
Run Code Online (Sandbox Code Playgroud)

WebView是一个委托类,什么也不做:

class WebView : public QWebEngineView
{
    Q_OBJECT
public:
    explicit WebView(QWidget *parent = 0);
};
Run Code Online (Sandbox Code Playgroud)

小智 5

  1. cmd.exe
  2. cd %AppData%/../Local/qwebengine
  3. rmdir /s QtWebEngine

  • 欢迎使用Stack Overflow!通常,如果答案包括对代码意图的解释,以及为什么不引入其他代码就能解决问题的原因,则答案会更有帮助。感谢您提高答案的参考价值并使其更易于理解! (2认同)