3.5.3. Valgrind

Valgrind 提供大量探测和分析工具以便帮助您改进性能并修正您的程序。这些工具可以探测与内存和线程有关的错误,以及堆、栈和阵列过度运行,以便您在程序代码中轻松定位并修改错误。他们还可以分析缓存,堆,以及分支预测以便识别增加程序速度,减少程序内存使用的因素。
Valgrind 通过在综合 CPU 运行分析您的程序,并检测其执行的程序代码。然后它会输出“说明”明确为用户指定的文件描述符、文件或者网络插槽鉴别出执行程序所涉及的每个进程。检测等级根据 Valgrind 工具的使用及设置而有所不同,但重要的是注意执行检测的代码的时间比一般执行代码要长 4-50 倍。
Valgrind 可以在您的程序中原封不动地使用,不需要重新编译。但因为 Valgrind 使用调试信息锁定代码中的问题,如果您的程序以及支持库无法使用启用的调试信息编译,则强烈建议您将重新编译包含在这个信息中。
从红帽企业版 Linux 6.4 开始 Valgrind 整合了 gdb (GNU Project Debugger) 以改进调试效率。
有关 Valgrind 的详情请参考《开发者指南》,地址为 http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/。或者在安装 valgrind 软件包后查看 man valgrind 命令。附带的文档也可在此找到:
  • /usr/share/doc/valgrind-<version>/valgrind_manual.pdf
  • /usr/share/doc/valgrind-<version>/html/index.html
有关如何使用 Valgrind 分析系统内存的详情请参考 第 5.3 节 “使用 Valgrind 简要描述内存使用”

为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。