Valgrind ---内存调试,内存泄漏检测以及性能分析的软件开发工具
2014-04-03 15:49
555 查看
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。Valgrind这个名字取自北欧神话中英灵殿的入口。
Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-O'Reilly开源代码奖。
【一】用valgrind对代码进行内存检测的时候,如果提示“Conditional jump or move depends on uninitialised value(s)”,有可能是某些变量未初始化造成的。
例如我遇到的两处这样的提示,一处是由于 struct tm 结构体未初始化,另一处是由于 char tmp[512]未初始化造成的。要初始化,只需memset即可,这样做之后,valgrind不再会提示有问题。
请在90%以上的时间里相信valgrind,而不是坚持自己的代码不需要做任何改动。
【2】
Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-O'Reilly开源代码奖。
【一】用valgrind对代码进行内存检测的时候,如果提示“Conditional jump or move depends on uninitialised value(s)”,有可能是某些变量未初始化造成的。
例如我遇到的两处这样的提示,一处是由于 struct tm 结构体未初始化,另一处是由于 char tmp[512]未初始化造成的。要初始化,只需memset即可,这样做之后,valgrind不再会提示有问题。
请在90%以上的时间里相信valgrind,而不是坚持自己的代码不需要做任何改动。
【2】
相关文章推荐
- win2003下php开发有关环境搭建问题
- org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity
- linux下日语语言包安装
- 关于jQuery trim 方法兼容性问题
- oracle 11g dmp文件导入10g
- lua中字符串匹配
- Project Anarchy 2013.2 已发布,包含重大更新!
- 静动态编译
- qt 显示中文
- 阅读器订阅
- Java最小二乘法线性回归函数编码实现
- SQL重复记录查询
- 做好这些事,创造精品简历!
- 开启杀毒软件时导致不能访问统御项目管理系统一例
- iOS 统计流量
- Java字节流和字符流实例
- android 设计模式
- Java静态方法、单例模式区别
- Oracle分析函数 — sum, rollup, cube, grouping用法
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果