调用AfxFreelibrary时CEF崩溃

时间:2017-08-08 06:36:01

标签: c++ dll crash chromium-embedded

我创建了一个MFC DLL,它实现了CEF初始化,关闭和其他功能。当我使用这个DLL时,CefInitialize和其他函数都正常,但我的程序在AfxFreeLibrary崩溃了。目前,CEF Shutdown已成功取得成功,未发生任何错误。

这是我的CefSetting:

CefSettings cefSettings;
CefSettingsTraits::init(&cefSettings);
cefSettings.windowless_rendering_enabled = TRUE;
cefSettings.multi_threaded_message_loop = TRUE;
cefSettings.no_sandbox = TRUE;
cefSettings.single_process = false; 

这是调用堆栈:

Call stack

看起来线程等待事件超时并触发NOTREACHED();

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

如果没有进一步的信息,很难提供建议。请确保您的申请结构正确无误。您可以查阅文档的"Application Structure"部分。您的流程已多次启动,因此您必须确保其他流程可以正常启动。

根据应用程序结构,使用"单独的子流程可执行文件"是可行的。我认为使用单独的子流程可执行文件通常是一种很好的方法,因为它简化了很多。

顺便说一下。您可以通过

运行来轻松测试应用程序结构是否存在问题
cefSettings.single_process = false;

如果在这种情况下一切正常,我会开始调查你的应用程序在多进程配置中的执行方式。