我创建了一个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;
这是调用堆栈:
看起来线程等待事件超时并触发NOTREACHED();
如何解决此问题?
答案 0 :(得分:0)
如果没有进一步的信息,很难提供建议。请确保您的申请结构正确无误。您可以查阅文档的"Application Structure"部分。您的流程已多次启动,因此您必须确保其他流程可以正常启动。
根据应用程序结构,使用"单独的子流程可执行文件"是可行的。我认为使用单独的子流程可执行文件通常是一种很好的方法,因为它简化了很多。
顺便说一下。您可以通过
运行来轻松测试应用程序结构是否存在问题cefSettings.single_process = false;
如果在这种情况下一切正常,我会开始调查你的应用程序在多进程配置中的执行方式。