作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 MS VC++ 2005 项目中启用了堆调试,当程序退出最后一个析构函数时,我在那里调用了 _CrtDumpMemoryLeaks()(也启用了 _CRTDBG_MAP_ALLOC。但随后我看到了以下调试断言屏幕:
之后我点击重试来调试它,它带我到一些代码(这不是我的),在那里我看到类似的东西:
char* name;
cstub.get("...", name);
delete [] name;
我在想,也许 name 是在 get(..) 函数内部分配的;无论如何,我的问题是:从屏幕截图来看,这是内存/堆错误吗?我可能必须深入研究 cstub 的 get 函数在做什么。感谢您的任何想法。
最佳答案
您可能正在混合运行时。
如果分配器位于使用不同版本的 Visual Studio 编译的 DLL 中,则您无法从代码中释放内存。
这就是为什么返回已分配内存的库还包含释放该内存的函数或方法。
关于c++ - 堆调试 : Assert failure in dbgdel in MS VC++ 2005,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11041189/
我在我的 MS VC++ 2005 项目中启用了堆调试,当程序退出最后一个析构函数时,我在那里调用了 _CrtDumpMemoryLeaks()(也启用了 _CRTDBG_MAP_ALLOC。但随后我
我是一名优秀的程序员,十分优秀!