内存泄漏
zerokkqq
这个作者很懒,什么都没留下…
展开
-
内存问题的排查工具和方法– Clang的AddressSanitizer
1 概述Valgrind可以有效地监测处大多数内存问题,你肯定忍不住会想,既然c/c++的内存问题这么常见,为什么不在编译器中加入内存问题检测的功能呢? 很可惜,GCC中还目前还不支持内存检测,可喜的是,clang支持。这里我们看看如何用clang发现内存问题2 clangclang 是一个C、C++、Objective-C编程语言的编译器前端。它采用了底层虚拟机作为其后端。它的目标是提供一个GN转载 2018-01-19 16:02:31 · 809 阅读 · 0 评论 -
Valgrind *不是* 泄漏检查工具
概要:在我的社区中,Valgrind 是我已知的被误解最深的工具。Valgrind 不仅仅是一个内存泄露检查器。它只是包含了一个检查内存泄露的工具而已。但我想说的是这个工具恰恰是 Valgrind 中用处最小的一个组件。无需改变 Valgrind 的调用方式,你就能得到比大多数人想象的要多得多的极具价值的信息。 Valgrind 会在你的程序奔溃之前找出潜在的错误;它不仅告诉你错误在哪里,还会告诉...转载 2018-03-29 14:20:51 · 3137 阅读 · 0 评论 -
穷人版valgrind
valgrind是内存泄漏的万灵药,只要能用得上valgrind。但在实际当中不管是运行速度还是运行环境都受限太多。最近碰到一个第三方商业库的内存泄漏,既没有源代码,也没法在实验室的重现,更没法用valgrind,于是周末加班搞定了一个自制valgrind。valgrind提供的信息其实就两条。对所有申请的内存,记录其 1. malloc的请求来自哪里;2. free的请求来自哪里。所谓的“哪里”...转载 2018-03-29 15:00:21 · 241 阅读 · 0 评论