我的计划最终将消耗所有RAM和崩溃......通过代码看,我无法找到任何脱颖而出,将做到这一点。
Answer 1:
您可以修改使用的调试版本的代码malloc
和free
? 如果是,检查_malloc_dbg和_free_dbg 。
(你可以写自己的new
和delete
基于这些功能的运营商。)
我记得VS 6.0没有_realloc_dbg
。
#ifdef _DEBUG
#define _CRTDBG_MAP_ALLOC 1
#include <Crtdbg.h>
#define malloc(size) _malloc_dbg(size,_CLIENT_BLOCK,__FILE__,__LINE__)
#define free(addr) _free_dbg(addr,_CLIENT_BLOCK)
#endif
Answer 2:
您可以尝试的BoundsChecker(现DevPartner): http://www.microfocus.com/products/micro-focus-developer/devpartner/index.aspx
您将可以看到内存泄漏,泄漏的界面和其它问题,你的代码。
Answer 3:
根据泄漏,您可以使用UMDH,或DebugDiag资料的简单工具的类型,否则我会推荐的WinDbg。 所有这些都是免费的,是针对Windows的调试工具的一部分,你可以谷歌所有这些工具的教程。 在WinDbg中自动查漏的命令!堆-l。
文章来源: In VS C++ 6.0, what debug tools are good to find where memory is leaking?