Linux探索之旅简书收藏--linuxlinux ubuntu 学习

【调试】Linux下超强内存检测工具Valgrind

2017-01-26  本文已影响1785人  程序员联盟

-- 作者 谢恩铭 转载请注明出处

内容简介


  1. Valgrind是什么?
  2. Valgrind的使用
  3. Valgrind详细教程

1. Valgrind是什么?


Valgrind是一套Linux下,开放源代码(GPL
V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。

内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。

Valgrind的体系结构如下图所示:

Valgrind包括如下一些工具:

2. Valgrind的使用

为了使valgrind发现的错误更精确,如能够定位到源代码行,建议在编译时加上-g参数,编译优化选项请选择O0,虽然这会降低程序的执行效率。

这里用到的示例程序文件名为:test.c,选用的编译器为gcc。

生成可执行程序

gcc -g -O0 test.c -o test

生成可执行程序test之后,如何使用Valgrind来生成内存的记录文件呢?一般这样使用:

valgrind --leak-check=full --log-file=test_valgrind.log --num-callers=30 ./test

3. Valgrind详细教程

详细教程请看这篇文章:
应用Valgrind发现Linux程序的内存问题


我是谢恩铭,在法国巴黎奋斗的嵌入式软件工程师。
目前工作是Android嵌入式和app开发。
热爱生活,喜欢游泳,略懂烹饪。

上一篇下一篇

猜你喜欢

热点阅读