Valgrind在macOS Sierra上

th3*_*man 36 valgrind macos-sierra

我遵循本指南:

valgrind安装指南

在我下载了包之后,我运行了sh脚本,但是当我启动make install命令时,它无法创建该文件夹,因为它没有权限(即使我已经使用了该sudo命令).

此外,我尝试使用brew,但我有这个错误:

valgrind:由于上游不兼容,此公式要么不能在比El Capitan更新的macOS版本上按预期编译或运行.

错误:未满足的要求未通过此构建.

Mus*_*sen 51

您可以从他们的网站下载Valgrind的最新版本.然后,您可以./autogen.sh安装Valgrind.我个人没有遇到任何需要make.

然而,令人遗憾的是,即便是最新版本的Valgrind在Mac OS Sierra上也不是很有用.原因是Apple没有发布导致Valgrind崩溃的部分源代码,如果没有,那么Valgrind维护者几乎无法做任何事情.您可以在此处详细了解有关此问题的讨论.

因为Mac OS内核属于Apple Public Source License,所以有一天它必须是开源的.因此,Valgrind的Sierra可编辑版本只是时间问题.

目前,我在Linux下使用Valgrind.这就是我现在所能提出的建议.

  • 截至2017年1月3日,最新的Valgrind源代码退出Subversion - 他们选择的VCS,版本控制系统 - 在'签出版本16192'仍然运行到`valgrind:mmap-FIXED(0x0,253952)失败了UME(load_segment1),错误12(无法分配内存).`错误,在讨论中描述."当消息来源明显在2016年11月底发布时,仍然存在问题."我没有提供进一步的信息. (4认同)
  • 现在最新版本Valgrind适用于Mac OS. (4认同)

gur*_*ida 10

最新的Valgrind(git版本3.13.0)现在适用于MacOS Sierra,但需要安装Xcode命令行工具(安装所需的头文件).

在构建Valgrind之前运行此命令:

xcode-select --install
Run Code Online (Sandbox Code Playgroud)

谢谢你的帖子.

  • 另请注意,最新的Xcode包含clang 9,需要更改configure脚本 - 下载时只需更改为8. (2认同)

vol*_*nto 5

如果您收到类似以下错误

valgrind:由于上游不兼容,此公式在比 Sierra 更新的 macOS 版本上无法编译或按预期运行。

brew install --HEAD valgrind您可以尝试我在这里找到此信息的解决方法https://www.gungorbudak.com/blog/2018/04/28/how-to-install-valgrind-on-macos-high-sierra/


use*_*093 5

Mac 上 valgrind 的简单替代品称为“泄漏”。它是一个命令行工具,因此如果您尚未安装 xcode 命令行工具,请使用“xcode-select --install”进行安装。

然后,要测试泄漏,只需编译您的程序然后运行“leaks -atExit -- ./your_prog”