C++内存检查和性能分析工具valgrind

作者:, 发表于

一个好用的C++性能分析工具需满足几个条件:

  1. 配置简单,不需要改动原程序和重新编译。
  2. 可以跟踪到动态链接库内部。
  3. 有结果的图形界面,可以分层追踪最耗时的片段。

目前我唯一知道满足这些条件的是visual stdio以及valgrind。前者是windows平台微软的作品,后者是linux上的开源软件。

1.安装

valgrind可通过apt-get安装,并会自动安装所有子工具:

sudo apt-get install valgrind

除此之外,还需安装图形界面工具KCachegrind

sudo apt-get install kcachegrind

kcachegrind依赖的包比较多,下载安装时间较长。

2.使用

valgrind是一系列软件,它最初的功能是检查程序的内存状况。效率检查是子工具callgrind

valgrind --tool=callgrind -v [callgrind options] your-program [program options]

此处-v可进入动态链接库。它会在当前目录下生成一个callgrind.out.918或类似的文件。

查看结果:

kcachegrind callgrind.out.918

Q.E.D.


上一篇:Python的DataFrame摘要2015年12月8日
Python数据分析工具pandas中以DataFrame和Series作为主要的数据结构。 Series是一个数据序列。DataFrame是一张数据表(可以理解由多个Series构成,每个Series为

下一篇:用valgrind检查C++程序的内存泄漏2016年2月5日
C++内存检查和性能分析工具valgrind里介绍了valgrind的安装,以及用于效率分析profiler工具。valgrind最本来的功能是内存检查。这篇文章做简单的介绍。 内


  • 支持使用微薄、微信和QQ的账户登陆进行评论。由各自网站直接认证,不会泄露你的密码。
  • 登陆后可选择分享评论到所绑定的社交网络,如微薄、人人和QQ空间。
  • 评论提交后无法修改。如需修改,请删除原评论再重新提交。
  • 评论支持LaTeX代码,行内公式请用\(a+b=c\),行间公式请用\[a+b=c\]。公式只支持英文字符。