|
|
1
20
Valgrind . 这应该会指出一些内存滥用,例如空指针读写和内存泄漏。Valgrind套件中有许多可用的工具,所以一定要查看它们。 其次,您可以始终使用使用 LD_PRELOAD dmalloc 和 efence 最后,最近的GCC版本包括一个名为 Mudflap 我使用了这三种方法,发现Valgrind非常有用。我对使用Mudflap也很感兴趣,尽管我还没能做到。 |
|
|
2
18
你应该看看“ Cross-Platform Memory Leak Detector ,看起来非常类似于crtdbg.h技术。 |
|
|
3
10
您还可能发现MALLOC\u CHECK\u环境变量很有用。 从malloc(3)手册页:
|
|
|
4
4
也许你可以使用 Boehm garbage collector 作为泄漏检测工具: http://www.hpl.hp.com/personal/Hans_Boehm/gc/leak.html 从网站:
(通过stderr通知您) |
|
5
3
我不知道有什么“内置”的东西能做到你所描述的,但看起来“推出你自己的”版本并不难。您只需要将新调试记录在
我发现 a page where someone describes their own home-grown system that works like this |
|
|
6
3
当我们开始移植到Mac时,我也遇到了同样的问题。“使用性能工具运行->泄漏”是我找到的唯一一个工具,我对此并不感到兴奋。。。至少与CRTDEBUG相比。我知道有一些选择(正如其他人在这里所描述的),但最终由于我们是多平台的,我们使用Windows来查找漏洞。 因为你提到了静态分析器。我们花了一些时间试图找出热,直到它发现它运行C,但不是C++。 |
|
|
7
0
一段时间以来,clang和gcc都支持一些“消毒剂”,包括泄漏消毒剂。在编译期间启用时,编译器将检测代码,以便在运行时执行相应的检查。在gcc上,使用“-fsanize=leak”启用泄漏消毒剂。看见 https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html . |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |