C++ 调用AfxFreelibrary时CEF崩溃

C++ 调用AfxFreelibrary时CEF崩溃,c++,dll,crash,chromium-embedded,C++,Dll,Crash,Chromium Embedded,我创建了一个MFCDLL,它实现了CEF初始化、关机等功能。当我使用这个DLL时,CefInitialize和其他函数都正常,但我的程序在afxfleelibrary中崩溃。此时,CEF Shutdown已执行成功,未发生错误 这是我的背景: CefSettings cefSettings; CefSettingsTraits::init(&cefSettings); cefSettings.windowless_rendering_enabled = TRUE; cefSettings

我创建了一个MFCDLL,它实现了CEF初始化、关机等功能。当我使用这个DLL时,
CefInitialize
和其他函数都正常,但我的程序在
afxfleelibrary
中崩溃。此时,CEF Shutdown已执行成功,未发生错误

这是我的背景:

CefSettings cefSettings;
CefSettingsTraits::init(&cefSettings);
cefSettings.windowless_rendering_enabled = TRUE;
cefSettings.multi_threaded_message_loop = TRUE;
cefSettings.no_sandbox = TRUE;
cefSettings.single_process = false; 
这是调用堆栈:

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


如何解决此问题?

没有进一步的信息,很难给出建议。请确保您的应用程序结构正确。您可能需要查阅文档中的部分。您的流程已启动多次,因此必须确保其他流程可以正确启动

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

顺便说一句,您可以通过运行

cefSettings.single_process = false;

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

如果没有进一步的信息,很难给出建议。请确保您的应用程序结构正确。您可能需要查阅文档中的部分。您的流程已启动多次,因此必须确保其他流程可以正确启动

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

顺便说一句,您可以通过运行

cefSettings.single_process = false;
如果在本例中一切正常,我将开始研究应用程序在多进程配置中是如何执行的