我希望创建一个构建的项目的构建,以便它与发布构建相同,除了使用默认分配器的调试版本(对 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/