Linux环境内存泄漏检测工具vargrind
发布时间
阅读量:
阅读量
今日再次回顾了Linux系统中用于检测内存泄漏的工具valgrind的使用方法:
- 通过网络资料了解到,目前多数人采用的是valgrind工具集,该集合包含多种功能模块:
(1) memcheck:用于识别程序运行过程中出现的各类内存相关问题,例如内存泄漏、越界访问以及无效指针等异常情况。
(2) callgrind:可对程序执行时间及调用流程进行追踪,并辅助分析程序性能表现。
(3) cachegrind:用于评估CPU缓存的命中率与丢失率,为代码优化提供数据支持。
(4) helgrind:专门针对多线程程序中的竞态条件进行检测。
(5) massif:堆栈分析工具,能够展示程序在运行期间所占用的堆内存总量及相关信息。
- 其中memcheck是该工具集中最为常用的部分,其主要职责是检查与内存相关的错误:
(1) 对未初始化内存区域进行访问,此类数据内容具有随机性。
(2) 访问无效指针所指向的内存地址,如空指针或野指针。
(3) 内存越界操作。
(4) 源地址与目标地址存在重叠时的数据复制操作。
具体包括以下几种情况:
访问未初始化的内存(Use of uninitialised memory)
读写已释放的内存(Reading/writing memory after it has been free’d)
全部评论 (0)
还没有任何评论哟~
