如何在现有项目中使用 valgrind

How to use valgrind for a existing project

有人告诉我 valgrind 是一个很好的一般性能/缓存未命中分析工具。

但是如何将此工具用于现有的大型 C++ 项目?

我正在与 XCode IDE (OS-X) 合作这个项目。 让 valgrind 为这个 XCode 项目工作的下一步是什么?

Valgrind 有很好的文档。 参见例如http://www.valgrind.org/docs/manual/QuickStart.htmlhttp://www.valgrind.org/docs/manual/manual.html

有关分析,请参阅: http://www.valgrind.org/docs/manual/cl-manual.html

好的,我想出了如何将 valgrind 与 xcode 一起使用:

1) 创建新方案,没有目标并输入名称(例如 Valgrind)
2) 信息 -> 编辑方案
3) Select 可执行文件 -> 其他 -> 到 valgrind 可执行文件 (我的例子:/usr/local/bin/valgrind)
4) 参数 -> 添加 valgrind 参数(例如缓存未命中 --tool=cachegrind)
5) 添加可执行程序作为参数(例如 /DerivedData/PerformanceTest/Build/Products/Release/PerformanceTest)

XCode 可能会自动将 Build 文件夹存储在 /User/username/Libary/Developer/XCode/DerivedData/XXXXXXXXX..

但是您可以在某处更改此文件夹的目标

对我来说这很完美!