Valgrind 和 macOS Big Sur

15
我在macOS Big Sur上通过Homebrew安装Valgrind时遇到了麻烦。在终端中我尝试过:
$ brew install valgrind

在Homebrew自动更新后,我收到了以下消息:

valgrind: Linux is required for this software.
Error: An unsatisfied requirement failed this build.

我能否安装Valgrind?


如果Homebrew以某种方式呈现LINUX应用程序,那么肯定有一些非常烹饪的事情正在发生。我的意思是,它可能不是恶意的,但我必须质疑有人如何在没有测试其在macOS上实际运行的情况下打包brew应用程序。 - Shayne
是的,这是最近的自制东西,现在也有一些Linux支持 :) - rogerdpack
4个回答

7
大致上你唯一的希望是这里,一个正在进行中的项目。这里
brew tap LouisBrunner/valgrind
brew install --HEAD LouisBrunner/valgrind/valgrind

1
有人让这个工作了吗? - rogerdpack
这个选项导致了致命错误:太多的错误被发出,现在在BigSur 11.7.1上停止了。 - Omri Shneor

5

我认为在 macOS 上使用 Valgrind 已经没有意义了。尝试使用 Address/Leak Sanitizer。请注意,Apple Clang 不支持泄漏检查,因此您需要从 Brew 上获取 llvm。如果您使用 -fsanitize=address,则还需要在 macOS 上添加 ASAN_OPTIONS=detect_leaks=1


1
如果苹果能够贡献一些资源,那将会有所帮助。 - Paul Floyd

3

你可以尝试使用leaks。我不知道它在功能方面如何与valgrind相比,但对我来说已经足够了。

leaks -atExit -- ./path/to/binary

3

Valgrind不支持Big Sur,但您可以尝试以下方法

brew tap LouisBrunner/valgrind
brew install --HEAD LouisBrunner/valgrind/valgrind

在“首选项|构建、执行、部署|CMake->CMake选项”中,使用以下代码作为更好的选项:
-DCMAKE_BUILD_TYPE=ASAN -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++

这里放图片描述


这段内容是关于 IT 技术的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接