Valgrind 技术文档
1. 安装指南
从 Subversion 仓库安装
-
从 SVN 仓库检出代码,具体操作请参考 Valgrind 下载页面。
-
进入源代码目录。
-
运行
./autogen.sh
脚本以设置环境(需要标准的 autoconf 工具)。 -
接着执行以下步骤...
从 tar.bz2 分发安装
-
运行
./configure
,如果需要,可以添加一些选项。唯一有趣的选项是通常的--prefix=/where/you/want/it/installed
。 -
运行
make
。 -
运行
make install
,如果目标权限需要,可能需要 root 权限。 -
检查是否成功安装。尝试运行
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 的技术文档,希望对您有所帮助。
- 国产编程语言蓝皮书《国产编程语言蓝皮书》-编委会工作区011
- nuttxApache NuttX is a mature, real-time embedded operating system (RTOS).C00
- 每日精选项目🔥🔥 01.08日推荐:跨界多能的 AI 神器,重塑学习、办公与创作体验:Khoj🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~021
- Cangjie-Examples本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie043
- 毕方Talon工具本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python039
- PDFMathTranslatePDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython05
- mybatis-plusmybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava03
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript0106
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML012