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
Copyright © zhiqiang.org 2016 all right reserved,powered by Gitbook该文件修订时间: 2016-08-03 01:06:06

results matching ""

    No results matching ""