求查找内存泄漏的方法,或工具

来源:互联网  时间:2016/9/1 12:26:44

关于网友提出的“ 求查找内存泄漏的方法,或工具”问题疑问,本网通过在网上对“ 求查找内存泄漏的方法,或工具”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 求查找内存泄漏的方法,或工具
描述:

由于程序很大,用boundscheck这些工具都很慢,无法忍受,不知哪位高手有一些比较好的查找内存泄漏的方法。现在程序的memory leak很多都是GDI方面的,还有处理字符串的


解决方案1:

用purify 2003。

解决方案2:

vs.net里面有内存泄漏监测功能,可以一用

解决方案3:

softice
书店有这方面的使用说明书!!!
还有就是---------段钢新出的那本《加密,解密》。。
9月份的《程序员》上有一篇书评,说是上面有SOFTICE的使用说明,我今天也见到这本书了
但是现在功力还不够,先买了一本-------罗的《windows环境下32位汇编语言。。。》
你可以先看看《加密,解密》。。
上有没有,是不是符合你的要求!!!

解决方案4:

再说说无防

解决方案5:

我用的是 guoxiny(狼) 的办法,笨是笨了的,我自认为很有效。
另外在说一个没出息的办法,在怀疑有泄露的地方让他多次循环,让他漏得多一点,通过windows任务管理器的性能就可以看出来。
方法不好,不能大用。见笑了。

解决方案6:

Bounds Check
项目越大越慢
超过50个模块的话就可以死掉了...

解决方案7:

BoundCheck是比较慢,程序比较大的话,我们这里通常是逐块测试,就是所谓的单元测试,一个个功能模块分开来测试。
通常Memory Leak都是Pointer影响的,但是如果是MT编程,那么启动和禁止Thread和多个Thread之间通讯很容易Memory Leak,处理这里问题尤其简直是个噩梦。

解决方案8:

可以自己用mfc的类来检查

解决方案9:

用rational purify吧,弄个好机子

解决方案10:

强!

解决方案11:

楼上的强啊,不知道这个#define有什么来头,给讲讲吧?

解决方案12:

我前一阵刚完成了一个内存管理的程序 使用VC 你如果想要,我可以给你!

解决方案13:

memory mapper, you can see how much ram has been allocated.
May u good luck

解决方案14:

BoundCheck!

解决方案15:

俺同意楼上的。

解决方案16:

俺只用过BoundsCheck,个人感觉
内存检查的工具都只能检查出那些明显的错误,而这些错误对于成熟的程序员来说
遵守良好的编程习惯和约束规范就都能够避免
而那些复杂的内存泄漏,工具也查不出来
还得在代码上保证,跟踪调试
当然,这类工具还是非常非常有用的,只是俺用过的dd太少

解决方案17:

真的不能在设计时杜绝吗?

解决方案18:

非 MFC 的呢?

解决方案19:

我有一个方法,不过必须是在debug下:
1   #include 
2  在文件开头加上:
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
3   按F5进入调试状态,如果在Output的debug窗口有一句"Detected memory leaks!"说明有内存泄漏,双击Output的Debug窗口检测到的内存泄漏例出的行,就可以到达内存泄漏代码行的位置。

解决方案20:

俺的方法比较笨。
首先,根据在编写程序中的各种情况,做一个初步的判断,把可能出现遗漏的地方跟踪调试;如果不这儿,再找下一个;如果所有自己认为可能有遗漏的地方都,没有问题的话;就进行下一步更笨的方法;
从程序启动的入口开始,一步一步往下走,通过注释代码,来判断是否有遗漏。
方法虽然比较笨,可是我还是这样找到了一些想都没想到的内存遗漏。

上一篇女程序员的故事
下一篇急问???谁能给我提供处理硬件中断的控件???如:tvichw32ocx等,处理硬件中断的API方法也可以!!!多谢了!!!
明星图片
相关文章
《 求查找内存泄漏的方法,或工具》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)