C++ 调用AfxFreelibrary时CEF崩溃
我创建了一个MFCDLL,它实现了CEF初始化、关机等功能。当我使用这个DLL时,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
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;
如果在本例中一切正常,我将开始研究应用程序在多进程配置中是如何执行的