免费应用程序来检查内存泄漏在Windows 64?(Free Application to chec

2019-07-18 00:53发布

我被分配到检查内存泄漏了我的老板的API。 该应用程序是在C&C ++创建。 所以内存是用malloc和新分配的可能性。 我要检查在调试模式下在Visual Studio 2010中的内存泄漏的64位Windows 7与任务管理器的问题是,它没有显示稳定的读数(内存增加和通过少量减少)。 之前也与该API运行后差别很小。 所以我不能说defitely的内存量X每个周期泄漏。

我已经在互联网上搜索和发现,Linux已经为这个伟大的工具。 不过,我想为我的需求(Windows 7)的可靠工具。 我所遇到的这些:

http://winleak.sourceforge.net/

http://sourceforge.net/projects/duma/?source=recommended

如前所述在这里:

查看Windows系统中的内存泄漏

工具

http://technet.microsoft.com/en-us/library/bb457063.aspx

是不是我的要求非常有用。 这将是非常有帮助你们的,如果你能请提出一个很好的工具,因为谁请求这个客户是我们公司非常重要的。 谢谢!

Answer 1:

我建议用视觉泄漏探测器 ,因为它已经使我受益匪浅几次。 你也可以尝试使用Valgrind的窗户(虽然我对这样做收效甚微)。 内存博士还帮过我几次。

编辑:也看看这里 。



Answer 2:

CRT库有自己的内存泄漏检测机制。 输出不是尽可能详细,什么视觉检漏仪给你,但它比VLD(该程序退出后几十分钟的轻松运行)快很多。

为了使CRT内存泄漏检测发生在开始时的以下stdafx.h (或别处合适):

#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>

程序的退出点(S)前添加下列权利:

_CrtDumpMemoryLeaks();

_CrtDumpMemoryLeaks()被调用时打印所有泄漏的内存,它可以找到到输出窗口。

更多信息MSDN 。

注意:当我用这个,我只得到了较少的详细输出不带行号,虽然我已经定义_CRTDBG_MAP_ALLOC权之初stdafx.h



文章来源: Free Application to check Memory Leaks in Windows x64?