我用过 视觉泄漏探测器 最近,它运作良好。构建它非常简单(只包括 vld.h
)并且不需要任何仪器。我发现我需要编写几个脚本来解析输出到我的目的更有用的东西(它正在为一个体面的GUI而烦恼)。请注意新网站 - 正在Codeplex上积极维护项目 - Codeproject链接非常陈旧。
如果你能负担得起一些钱,请使用Intel Parallel Inspector(http://software.intel.com/en-us/intel-parallel-inspector)。
它不需要任何代码修改并提供良好的报告。
我必须寻找在工作中做到这一点的好工具,这是我发现的最好的工具(到目前为止)。
正如Noah Roberts所建议的,我也觉得Memory验证器是检测Visual Studio中泄漏的最佳工具。
净化也有效。
不久前问了一个类似的问题,但与2010年有关: VS2010剖面仪/泄漏检测
如果你没有使用2010,你可能会考虑AQtime。这个时间并不太可怕。有时候会想到它找不到与泄漏相关的对象,只是说“crt memory”或者其他什么。
我最近尝试的另一个叫做“Memory Validator”。不完全是一个不错的界面,但它似乎确实有效,并且与2010一起工作(只是没有任何其他类型的分析,这是我期望在这样的商业工具中)。
也许GlowCode就像其他类似问题中提到的那样,当我在询问之前进行搜索时。
还有应用程序验证程序。它可以跟踪一大堆其他问题,除了泄漏,比如你忘记释放win32对象的地方,如句柄等......
MSDN链接是: http://msdn.microsoft.com/en-us/library/ms220948(VS.80).aspx
Jacob,DevPartner Studio中的BoundsChecker工具包含两种类型的VC ++检漏仪。未经检测的版本将在进程关闭时将泄漏列表。编译时间检测的检测器将在泄漏发生时泄漏,在泄漏点显示当前调用堆栈,并且分配堆栈跟踪显示泄漏内存的分配位置。 64位版本的DPS和BoundsChecker 10.5于2011年2月4日发布,为Visual Studio 2010,2008和2005提供x64应用程序支持。我们还有一个新的定价模型,因此您可以仅许可BoundsChecker功能并升级到完整的DPS套件只有在您以后发现需要其他分析器或静态分析功能时才会使用。一定要和你的销售代表讨价还价。支付清单价格就像在新车上支付标价一样。无耻的插件:我在DevPartner团队工作。自Compuware关闭NuMega实验室以来,DPS 10.5代表了我团队最大的技术能力发布。当10.5上线时,请为您自己的应用和技术堆栈评估它。干杯。 DevPartner产品负责人Matt Schuetze(是的,这意味着PO在正常的Scrum团队角色中。)
对于更严肃的项目,VLD不可信任。
英特尔有一个名为Inspector的好工具。
3天后,在Visual Studio中搜索使用C ++查找x64二进制文件泄漏的好工具,这是我找到的唯一好方法。
试试Dr.Memory。 他们有适当的视觉工作室集成,文档非常好。 易于使用。
http://www.saunalahti.fi/~tarmpika/diagnostic/
我曾尝试过如此多的内存泄漏检测器,很难统计它们。他们中的一些人崩溃了,其中一些人产生了无效的结果,其中一些人根本没有帮助。最终我制作了自己的检漏仪,但投入了大量精力 - 因此暂时不让它自由。支持托管/本机/ 32位和64位架构。