软件工程后期的内存检查Valgrind 和 MemeryCheck

Valgrind 使用简单说明

本文部分参考网上相关资料。

Valgrind能做什么?

  •内存使用检测,包括:
    –内存泄漏
    –非法内存访问
    –未初始化变量使用
    重复释放内存
  •多线程竞争
    –检测死锁

    -检测竞争

Valgrind还能做什么?

  •性能分析

    Cachegrindcg_annotate

    它模拟 CPU中的一级缓存I1,D1和L2二级缓存,能够精确地指出程序中 cache的丢失和命中。如果需要,它还能够为我们提供cache丢失次数,内存引用次数,以及每行代码,每个函数,每个模块,整个程序产生的指令数,这些可以看成程序的执行成本。以上数据其实对于app开发意义不大,仅作为参考。

  使用方法:

    –Callgrind+ callgrind_annotate/kcachegrind

       比起Cachegrind而言Callgrind更有用。Callgrind在Cachegrind基础上实现,可以可视化展示函数调用关系,以及每个函数在整个进程运行过程中所占的成本。对于

原文地址:https://www.cnblogs.com/liulebao/p/3378125.html