首页
/ Valgrind 技术文档

Valgrind 技术文档

2024-12-27 12:00:10作者:冯爽妲Honey

1. 安装指南

从 Subversion 仓库安装

  1. 从 SVN 仓库检出代码,具体操作请参考 Valgrind 下载页面

  2. 进入源代码目录。

  3. 运行 ./autogen.sh 脚本以设置环境(需要标准的 autoconf 工具)。

  4. 接着执行以下步骤...

从 tar.bz2 分发安装

  1. 运行 ./configure,如果需要,可以添加一些选项。唯一有趣的选项是通常的 --prefix=/where/you/want/it/installed

  2. 运行 make

  3. 运行 make install,如果目标权限需要,可能需要 root 权限。

  4. 检查是否成功安装。尝试运行 valgrind ls -l。如果这能正常运行,说明安装成功;如果报错,请通知我们(参考 Valgrind 网站)。

重要提示: 不要将 Valgrind 安装移动到与构建时指定的 --prefix 不同的位置。这可能会导致在处理 fork/exec 调用时出现微妙的问题。

2. 项目使用说明

Valgrind 是一个用于构建动态分析工具的框架。它包含了一些可以自动检测许多内存管理和线程错误的工具,并且可以详细分析程序。您还可以使用 Valgrind 构建新的工具。

Valgrind 分发版目前包括六个生产质量的工具:一个内存错误检测器、两个线程错误检测器、一个缓存和分支预测分析器、一个生成调用图的缓存和分支预测分析器以及一个堆分析器。此外,还包括三个实验性工具:一个堆/栈/全局数组溢出检测器、一种不同类型的堆分析器和 SimPoint 基本块矢量生成器。

Valgrind 与 CPU、操作系统、编译器和基本 C 库的细节紧密相关。这使得它难以移植。尽管如此,它还是可以在以下平台上使用:

  • X86/Linux
  • AMD64/Linux
  • PPC32/Linux
  • PPC64/Linux
  • ARM/Linux
  • x86/MacOSX
  • AMD64/MacOSX
  • S390X/Linux
  • MIPS32/Linux
  • MIPS64/Linux

注意:AMD64 是 x86_64 的另一个名称,Valgrind 在 Intel 处理器上运行良好。另外,MacOSX 的核心称为 "Darwin",有时会使用这个名字。

Valgrind 根据 GNU 通用公共许可证第二版授权。请阅读源分发中的 COPYING 文件以获取详细信息。

但是:如果您贡献代码,您需要将其作为 GPL 第二版或更高版本提供,而不是仅第二版。

3. 项目 API 使用文档

Valgrind 的 API 文档可以在用户指南中找到。指南的位置是 $PREFIX/share/doc/valgrind/manual.html,其中 $PREFIX 是构建时使用 --prefix= 指定的前缀。

4. 项目安装方式

请参考上述 "安装指南" 部分进行项目安装。

以上是 Valgrind 的技术文档,希望对您有所帮助。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
466
3.47 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
10
1
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
19
flutter_flutterflutter_flutter
暂无简介
Dart
715
172
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
203
82
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.27 K
695
rainbondrainbond
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
15
1
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
1