问题 Visual C ++ - 内存泄漏检测


有什么建议么?这篇SO帖子谈到了 视觉泄漏探测器,但我正在寻找其他工具。另外,请不要推荐 这个


4243
2018-05-12 15:22


起源

_CRTDBG有什么问题?跟踪二进制转储对你来说不够好,呃;-) - Skizz
@Skizz:滚动到底部:) msdn.microsoft.com/en-us/library/e5ewb1h3%28v=VS.80%29.aspx - Jacob
只要你正确设置,CRT泄漏检测就可以正常工作;当然,一开始可能会令人困惑,但一旦你搞清楚你永远不会忘记:) - Luke
你为什么要找其他工具? VLD有什么问题?是否缺少特定功能? - Björn Pollex
我喜欢在微软页面的顶部,它说:这适用于:Visual studio express:NO标准:NO Pro:NO意思它适用于任何东西 - john ktejik


答案:


我用过 视觉泄漏探测器 最近,它运作良好。构建它非常简单(只包括 vld.h)并且不需要任何仪器。我发现我需要编写几个脚本来解析输出到我的目的更有用的东西(它正在为一个体面的GUI而烦恼)。请注意新网站 - 正在Codeplex上积极维护项目 - Codeproject链接非常陈旧。


6
2017-08-09 20:33





尝试 Deleaker 要么 DevPartner,这两者都足够好了。

更新:

C ++内存验证器,工作正常,价格合理。


4
2018-05-13 09:02



我更喜欢代客 - 工作正常,成本低廉。 - John Smith


如果你能负担得起一些钱,请使用Intel Parallel Inspector(http://software.intel.com/en-us/intel-parallel-inspector)。

它不需要任何代码修改并提供良好的报告。

我必须寻找在工作中做到这一点的好工具,这是我发现的最好的工具(到目前为止)。


2
2018-05-13 16:53





正如Noah Roberts所建议的,我也觉得Memory验证器是检测Visual Studio中泄漏的最佳工具。

净化也有效。


1
2017-08-18 10:07





不久前问了一个类似的问题,但与2010年有关: VS2010剖面仪/泄漏检测

如果你没有使用2010,你可能会考虑AQtime。这个时间并不太可怕。有时候会想到它找不到与泄漏相关的对象,只是说“crt memory”或者其他什么。

我最近尝试的另一个叫做“Memory Validator”。不完全是一个不错的界面,但它似乎确实有效,并且与2010一起工作(只是没有任何其他类型的分析,这是我期望在这样的商业工具中)。

也许GlowCode就像其他类似问题中提到的那样,当我在询问之前进行搜索时。


0
2018-05-12 15:41



看起来你没有收到很多答案。我将查看AQtime ..现在我正在使用VLD,它类似于默认的VS工具,但更详细。 - Jacob
我只是使用一个太新的编译器。几乎没有人有任何兼容性。 - Crazy Eddie


还有应用程序验证程序。它可以跟踪一大堆其他问题,除了泄漏,比如你忘记释放win32对象的地方,如句柄等......

MSDN链接是: http://msdn.microsoft.com/en-us/library/ms220948(VS.80).aspx 


0
2017-08-14 04:04





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团队角色中。)


0
2018-01-30 15:26





对于更严肃的项目,VLD不可信任。

英特尔有一个名为Inspector的好工具。

3天后,在Visual Studio中搜索使用C ++查找x64二进制文件泄漏的好工具,这是我找到的唯一好方法。


0
2018-02-25 18:33





试试Dr.Memory。 他们有适当的视觉工作室集成,文档非常好。 易于使用。


0
2018-01-19 19:42





http://www.saunalahti.fi/~tarmpika/diagnostic/

我曾尝试过如此多的内存泄漏检测器,很难统计它们。他们中的一些人崩溃了,其中一些人产生了无效的结果,其中一些人根本没有帮助。最终我制作了自己的检漏仪,但投入了大量精力 - 因此暂时不让它自由。支持托管/本机/ 32位和64位架构。


0
2018-02-09 17:37