有什么建议吗?这个SO帖子谈到Visual Leak Detector,但我正在寻找其他工具。另外,请不要推荐this。
答案 0 :(得分:6)
我最近使用过Visual Leak Detector,效果非常好。构建它非常简单(只包括vld.h
)并且不需要任何检测。我发现我需要编写几个脚本来解析输出到我的目的更有用的东西(它正在为一个体面的GUI而烦恼)。请注意新网站 - 正在Codeplex上积极维护项目 - Codeproject链接已经过时了。
答案 1 :(得分:4)
答案 2 :(得分:2)
如果您能负担得起一些钱,请使用英特尔Parallel Inspector(http://software.intel.com/en-us/intel-parallel-inspector)。
它不需要任何代码修改,并提供良好的报告。
我必须寻找在工作中做到这一点的好工具,这是我找到的最好的工具(到目前为止)。
答案 3 :(得分:1)
正如Noah Roberts所建议的,我也觉得Memory验证器是检测Visual Studio泄漏的最佳工具。
净化也有效。
答案 4 :(得分:0)
不久前被问到一个类似的问题,但具体与2010年有关:VS2010 profiler/leak detection
如果您不使用2010,可以考虑使用AQtime。这个时间并不太可怕。有时候会想到它找不到与泄漏相关的对象,只是说“crt memory”或其他什么。
我最近尝试的另一个叫做“Memory Validator”。不完全是一个不错的界面,但它确实有效,并且也适用于2010(只是没有任何其他类型的分析,这是我期望在这样的商业工具中)。
也许GlowCode就像其他类似问题中提到的那样,当我在询问之前搜索时就这样了。
答案 5 :(得分:0)
还有应用程序验证程序。它可以跟踪一大堆其他问题,除了泄漏,比如你忘记释放win32对象的地方,如句柄等......
MSDN链接为:http://msdn.microsoft.com/en-us/library/ms220948(VS.80).aspx
答案 6 :(得分:0)
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团队角色中。)
答案 7 :(得分:0)
对于更严肃的项目,VLD不可信任。
英特尔有一个名为Inspector的好工具。
在Visual Studio中使用C ++查找x64二进制文件泄漏的好工具3天后,这是我找到的唯一好方法。
答案 8 :(得分:0)
试试Dr.Memory。 他们有适当的视觉工作室集成,文档非常好。 也易于使用。
答案 9 :(得分:0)
http://www.saunalahti.fi/~tarmpika/diagnostic/
我曾尝试过如此多的内存泄漏检测器,很难统计它们。他们中的一些人崩溃了,其中一些人产生了无效的结果,其中一些人根本没有帮助。最终我制作了自己的检漏仪,但投入了大量精力 - 因此暂时不让它自由。托管/本地/ 32&支持64位架构。