MFC,内存泄露!
有没有高手知道,这是什么情况下造成的内存泄露啊????
Dumping objects ->
strcore.cpp(118) : {74} normal block at 0x02495010, 30 bytes long.
Data: < 192.> 01 00 00 00 0D 00 00 00 0D 00 00 00 31 39 32 2E
strcore.cpp(118) : {73} normal block at 0x02494FB8, 30 bytes long.
Data: < 192.> 01 00 00 00 0D 00 00 00 0D 00 00 00 31 39 32 2E
strcore.cpp(118) : {61} normal block at 0x02494B78, 49 bytes long.
Data: < > 01 00 00 00 04 00 00 00 20 00 00 00 CB CE CC E5
{60} normal block at 0x02494B10, 56 bytes long.
Data: < > FF FF FF FF CD CD CD CD CD CD CD CD CD CD CD CD
[解决办法]
具体程序具体分析,检查代码里new的对象是不是没有对应的 delete.
可以通过单步调试发现问题,特别是一个类的析构函数里加断点,看看这个类里的对象
是不是还存在赋值,或者切换到汇编代码状态,有些时候程序会帮你清理,这一般会在析构函数后面调用,
可以在汇编状态下看出来。没有清理的会被捕捉。
[解决办法]
造成内存泄露的原因有很多 单从这些信息不能断定是何种泄露 你可以使用boundchecker查看一下
[解决办法]
一个个对吧, ctrl+f 然后输入new 看看有多少没有释放的。 我认为在程序开始或者结束 没delete问题也不是很大 嘿嘿
[解决办法]
很多情况是new了,没有delete掉,要看看你代码才知道问题出在哪
[解决办法]
new/delete是最基本的,
有用到绘图功能,或者创建DC,没有释放资源吗?
有用到指针或指针数组吗?
有动态创建对象吗?