第 13 章 Valgrind


Valgrind 是一个检测框架,附带很多用于分析应用程序的工具。它可用于检测各种内存错误和内存管理问题,如使用未初始化内存或分配不当的内存,或者识别系统调用中不正确的参数。有关 Valgrind Red Hat Developer Toolset 版本发布的性能分析工具的完整列表,请参阅 表 13.1 “用于 Red Hat Developer Toolset 的 Valgrind 工具”

Valgrind 通过重写应用程序并检测重写的二进制文件来对应用程序进行性能分析。这可让您对应用程序进行性能分析,而无需重新编译它,但它使 Valgrind 比其他配置集慢得多,特别是在执行非常详细的运行时。因此,它不适用于调试特定于时间的问题或内核空间调试。

Red Hat Developer Toolset 与 Valgrind 3.17.0 一起发布。此版本比之前版本的 Red Hat Developer Toolset 中包含的版本更新,并提供大量程序错误修复和增强。

Expand
表 13.1. 用于 Red Hat Developer Toolset 的 Valgrind 工具
Name描述

Memcheck

通过截获系统调用并检查所有读写操作来检测内存管理问题。

cachegrind

通过模拟级别 1 指令缓存(I1)、级别 1 数据缓存(D1)和统一级别 2 缓存(L2)来识别缓存丢失的来源。

Callgrind

生成代表函数调用历史记录的调用图。

Helgrind

在多线程 C、C++ 和使用 POSIX 线程的 Fortran 程序中检测同步错误。

DRD

检测使用 POSIX 线程原语或任何基于这些 POSIX 线程原语构建的其他线程概念的多线程 C 和 C++ 程序中的错误。

Massif

监控堆和堆栈使用情况。

13.1. 安装 Valgrind

在 Red Hat Developer Toolset 中,Valgrinddevtoolset-11-valgrind 软件包提供,并使用 devtoolset-11-perftools 自动安装。

有关如何将 Red Hat Developer Toolset 和相关软件包安装到您的系统的详情请参考 第 1.5 节 “安装 Red Hat Developer Toolset”

注意

请注意,如果您使用 ValgrindGNU Debugger 结合使用,建议您使用 Red Hat Developer Toolset 中包含的 GDB 版本来确保所有功能都被完全支持。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat