MacOS Valgrind 替代品?

bre*_*ass 6 c macos valgrind memory-leaks macos-big-sur

我正在运行 MacOS Big Sur 并尝试安装valgrind以进行作业。

brew install valgrind 当前不起作用,从 tar.bz2 发行版安装也不起作用。

运行./configure(根据自述文件说明)在最后返回:

checking for a supported OS... ok (darwin20.1.0)
checking for the kernel version... unsupported (20.1.0)
configure: error: Valgrind works on Darwin 10.x, 11.x, 12.x, 13.x, 14.x, 15.x, 16.x and 17.x (Mac OS X 10.6/7/8/9/10/11 and macOS 10.12/13)
Run Code Online (Sandbox Code Playgroud)

从这一点来看,似乎valgrind在最近的几个 MacOS 版本中不起作用。

是否有当前 MacOS 版本的替代方案,或者这是我在硬盘驱动器上为 Linux 创建分区的好时机?或者我在安装时遗漏了什么?

Pau*_*oyd 7

正如评论中提到的,Louis Brunner 的 github 存储库是您目前最好的选择。这至少应该为您提供一个最低限度的功能构建。

除了通常的版本号更改之外,Big Sur 中重大的突破性更改之一是系统库由 dyld 缓存(和隐藏)。所以现在 Valgrind 无法读取libsystem_malloc.dylib以确定函数的地址,malloc以便可以重定向它们。

如果有人想尝试一下,那么我的猜测是您需要遵循这些说明,并更改 initimg-darwin.c 以使 dyld_cache_value 为“避免”。