Valgrind 使用简单说明
本文部分参考网上相关资料。
Valgrind能做什么?
•内存使用检测,包括:
–内存泄漏
–非法内存访问
–未初始化变量使用
–重复释放内存
•多线程竞争
–检测死锁
-检测竞争
Valgrind还能做什么?
•性能分析
–Cachegrind+ cg_annotate
它模拟 CPU中的一级缓存I1,D1和L2二级缓存,能够精确地指出程序中 cache的丢失和命中。如果需要,它还能够为我们提供cache丢失次数,内存引用次数,以及每行代码,每个函数,每个模块,整个程序产生的指令数,这些可以看成程序的执行成本。以上数据其实对于app开发意义不大,仅作为参考。
使用方法:
–Callgrind+ callgrind_annotate/kcachegrind
比起Cachegrind而言Callgrind更有用。Callgrind在Cachegrind基础上实现,可以可视化展示函数调用关系,以及每个函数在整个进程运行过程中所占的成本。对于