c++ - 调用 AfxFreelibrary 时 CEF 崩溃

标签 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();

我该如何解决这个问题?

最佳答案

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

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

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

轻松测试应用程序结构是否有问题
cefSettings.single_process = false;

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

关于c++ - 调用 AfxFreelibrary 时 CEF 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45560944/

相关文章:

java - 将包含 dll 的目录添加到 gradle 作为路径?

Java - Android 致命信号 11 SIGSEGV

android.database.sqlite.SQLiteException : Can't downgrade database from version 58 to 55 for android sms database

c++ - 无法编译地震3竞技场源代码

c++ - 如果我想从输入文件(例如1、2、3)中读取逗号分隔的数据,包括逗号?

c# - 从 C# 应用程序调用 C++ DLL 方法

c# - 查看 DLL 文件的内容

c++ - 如何在其定义附近使用显式长度/值构造函数初始化 vector 成员变量?

c++ - 基于CMake编译C++项目时"fatal error: ' chrono ' file not found"

c++ - 将多集转换为集合的有效方法