检测内存泄漏的应用程序

时间:2015-11-12 21:11:46

标签: c++ ubuntu memory-leaks g++

我正在寻找可以帮助我检测C ++程序中的内存泄漏的应用程序。我正在使用g ++编译而不是Ubuntu。

是否在 Ubuntu存储库上找到了除 Valgrind 之外的应用程序,因为它不适用于我的情况。

4 个答案:

答案 0 :(得分:1)

在linux下检测内存泄漏的四个你可以使用valgrind。

look at this link it contains some examples

您可以使用addresssanitizer而不是valgrind。

答案 1 :(得分:1)

有很多选择。

但Linux系统的典型问题是valgrind。它是一个动态内存分析器。

它非常易于使用。基本的想法是你调用valgrind并让它分叉要调试的应用程序。 Valgrind用一些自己的包装器替换标准库调用,这允许它跟踪内存分配和解除分配。如果应用程序取消,您将获得有关内存消耗的摘要以及有关内存泄漏的详细列表。

也许您应该注意到复杂的应用程序可能需要一些时间才能在内存调试器中启动,并且运行速度也非常慢。

答案 2 :(得分:0)

使用ld_preload。像这样:

https://github.com/jrfonseca/memtrail

答案 3 :(得分:0)

也许这个wikipage看起来对你有用:

Memory_debugger

我之前从未使用过这种程序,而且我有Windows,所以我不知道哪个好,但也许你找到了。