c++ - 在未定义 _DEBUG 时检查堆完整性?

标签 c++ visual-studio memory-management malloc msvcrt

我希望创建一个构建的项目的构建,以便它与发布构建相同,除了使用默认分配器的调试版本(对 alloc/free 等进行金丝雀检查)。编译器/CRT 是 Visual Studio 2010。

阅读 CRT 的文档似乎需要定义 _DEBUG,以便不删除对 _CrtCheckMemory()、_malloc_dbg() 等的调用。我不希望启用 _DEBUG 定义,因为这不仅会影响分配器。

有没有办法在不定义 _DEBUG 的情况下使用 CRT 调试分配器?

最佳答案

_malloc_dbg() 需要调试运行时,调试运行时需要 _DEBUG - 所以不,你不能这样做。

关于c++ - 在未定义 _DEBUG 时检查堆完整性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5350549/

相关文章:

c++ - execl ("/bin/emacs", "/etc/fstab"); 是什么意思?做?

c++ - Visual C++ 6.0 中查找源文件的预设位置

java - OutOfMemoryError 消息的清晰解释

Ruby 大数组和内存

在 C 中为 malloc 和 free 创建一个包装函数

c++ - 将提取的字符存储在字符串 vector 中

C++类多重继承错误

c# - 调试时 Visual Studio 显示错误值?

c++ - 错误 C2893 函数模板专用化失败 'unknown-type std::invoke(_Callable &&,_Types &&...)'

c++ - 图片处理代码调试