关于编译器 normal block输出(normal block at 0x0CECA1E8, ** bytes long)内存泄露解决方法
2018-02-02 17:32
411 查看
如果当你new了一个对象,但是忘记了delete它,编译器输出栏会提示该问题,一般情况很难引起你的注意,而我碰到一个问题,就是debug模式下,退出程序后,VS2010编译器仍然没有退出,并且一直输出 normal block如下:
知道是内存泄露,但是没有提示是哪一句内存泄露,在你相应的的cpp文件中加上如下代码,就可以追踪是哪一个new操作引起该问题的
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
然后在相应位置delete调你的对象
知道是内存泄露,但是没有提示是哪一句内存泄露,在你相应的的cpp文件中加上如下代码,就可以追踪是哪一个new操作引起该问题的
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
然后在相应位置delete调你的对象
相关文章推荐
- Block产生的内存泄露,以及解决方法
- normal block at XXXXXXXX, 16/32 bytes long.的意思
- 关于 DAMAGE:after Normal block(#47) at 0x00000000问题的解决
- 关于win8中c-free等编译器调试时无法显示输出的解决方法
- 关于“无法从传输连接中读取数据: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”错误的解决方法之一
- 类似于 CLEANMARKER node found at 0x0042c000 has totlen 0xc != normal 0x0 的解决方法
- 关于Flash CS4输出错误信息的无法找到toplevel.as的解决方法
- DAMAGE:after Normal block的解决方法
- CBRUSH释放、CreateSolidBrush的内存释放与内存泄露问题及其解决方法
- 谈"DAMAGE:after Normal block"的解决方法
- “编译器错误信息: CS0016: 未能写入输出文件”解决方法
- “编译器错误信息: CS0016: 未能写入输出文件”解决方法
- 解决容易出现内存泄露的方法
- 解决重装VC++所遇到问题的方法(关于“内存不能read”)
- iis 编译器错误信息: CS0016: 未能写入输出文件 解决方法
- JQuery Dialog的内存泄露问题解决方法
- mysql Data too long for column ‘xxx’ at row xxx的解决方法
- 【转】编译器错误信息: CS0016: 未能写入输出文件”解决方法
- QuickReport报表Prepare之后造成内存泄露问题的解决方法
- 关于 "CS0016: 未能写入输出文件" 的解决办法 编译器错误信息: CS0016: 未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\listenleaks\ae3daa38\e9fdb67