第 13 章 Valgrind


Valgrind 是一个工具框架,随附一些工具来分析应用程序。它可用于检测各种内存错误和内存管理问题,如使用未初始化内存或内存不足的分配和释放内存,或者识别系统调用中不正确的参数。如需通过 Red Hat Developer Toolset 版本的 Valgrind 分发的性能分析工具的完整列表,请参阅 表 13.1 “使用 Red Hat Developer Toolset 的 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++ 和 Fortran 程序使用 POSIX 线程原语的同步错误。

DRD

检测多线程 C 和 C++ 程序中的错误,它们使用 POSIX 线程原语或其他在 POSIX 线程原语基础上构建的任何其他线程概念。

Massif

监控堆和堆栈使用情况。

13.1. 安装 Valgrind

在 Red Hat Developer Toolset 中,Vrind 由 devtoolset-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