c++ - 使用释放 EXE 调试 DLL

标签 c++ debugging release

是否可以用 Release模式EXE执行 Debug模式DLL?

我正在尝试这种情况,但 EXE 不加载调试 DLL 并抛出错误“此应用程序无法启动...”。

我知道这不是一个好的方案,但由于某些要求,我必须完成这项工作。

最佳答案

如果您的 dll 接口(interface)不依赖于在调试和发布时可能看起来不同的类,它就可以工作。 例如MSVC 中的 std::string 和 std::vector 在调试和发布时不兼容。 (栅栏...)

比如

std::string GetName();

将不起作用。

另外,不应移动新的和删除的,因为调试/发布使用不同的运行时。但无论如何,您应该始终在与 new 相同的上下文 (dll/exe) 中delete

关于c++ - 使用释放 EXE 调试 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15132990/

相关文章:

database - Prestashop 1.6 缺少外键?

c++ - C++中的字符串反转

C++ MFC Appeding text to edit control 崩溃程序

c++ - 强制强类型枚举参与模板重载决策

node.js - VSCode - Launch.json 指定参数

c - 需要帮助弄清楚为什么 LinkList 程序给出垃圾值或内存访问错误

C++ 局部范围内的多重声明

maven - 如何查看有效 pom(在 Maven 中)的部分来自哪里?

git - Maven 使用 git 发布插件,如果在过程中推送提交则出错

linux - 释放函数在另一个进程上下文中被调用