Linux下代码内存泄露检查工具valgrind
2016-06-17 18:16
411 查看
自己写的代码内存呼呼的往上涨,同事告诉我一个内存泄露检查的工具valgrind,于是就用了用。
1安装
sudo apt-get install valgrind
也可以到官方网站去下载:http://www.valgrind.org
2使用
结果输出到终端,运行命令
valgrind --leak-check=full --track-fds=yes 程序 参数
结果输出到日志,运行命令
valgrind --log-file=valgrind_log --leak-check=full --track-fds=yes 程序 参数
注意:在代码调试阶段,编译时应该加上-g参数生成调试信息,这样可以定位到代码行。
3.分析
会告诉你有几段内存泄露,代码行的什么位置,然后可以对照一段段的去看代码,可以改进几个地方之后再重新运行一次,因为某段代码的内存泄露会产生很多段的报告出来。
另外,运行的时候非常慢,如果数据量比较大,可以减少一些再测试。
总而言之,这个工具非常好用,在检查完毕代码功能之后,非常有必要用这个工具再测试一下是否有内存泄露,毕竟这类问题是很棘手的。
1安装
sudo apt-get install valgrind
也可以到官方网站去下载:http://www.valgrind.org
2使用
结果输出到终端,运行命令
valgrind --leak-check=full --track-fds=yes 程序 参数
结果输出到日志,运行命令
valgrind --log-file=valgrind_log --leak-check=full --track-fds=yes 程序 参数
注意:在代码调试阶段,编译时应该加上-g参数生成调试信息,这样可以定位到代码行。
3.分析
会告诉你有几段内存泄露,代码行的什么位置,然后可以对照一段段的去看代码,可以改进几个地方之后再重新运行一次,因为某段代码的内存泄露会产生很多段的报告出来。
另外,运行的时候非常慢,如果数据量比较大,可以减少一些再测试。
总而言之,这个工具非常好用,在检查完毕代码功能之后,非常有必要用这个工具再测试一下是否有内存泄露,毕竟这类问题是很棘手的。
相关文章推荐
- 推荐两篇Linux下的Socket文章
- linux系统配置
- [linux]程序和进程浅析
- linux 系统下常用的命令
- linux grep命令
- Linux-sed命令
- Linux Poll 使用方法和实现
- linux 系统下 android studio 获取SHA1
- linux select函数用法 && 阻塞与非阻塞IO
- Linux下c语言多线程实现生产者-消费者编程
- centos7 安装haskell7.8.3
- 深入理解LINUX下动态库链接器/加载器ld-linux.so.2
- 关于ubuntu中利用crontab设置定时任务的问题
- 从Windows下Java程序如何操作Linux下Hbase数据库表过程、难点的心得历程
- 02_02_Linux操作系统及常用命令
- 02_01_Linux操作系统及常用命令
- Linux进程调度策略的发展和演变--Linux进程的管理与调度(十六)
- Linux 学习之旅第一天之vi编辑器和运行级别
- Linux运维学习大纲
- S5pv210下 HDMI 接口在 Linux 3.0.8 内核下的驱动解析