我在使用 valgrind 检查 C 中的内存泄漏时遇到了问题。它告诉我“valgrind:找不到命令。我使用的是 Windows,并且安装了 mingw。如果有人可以帮助我,我将不胜感激。
Valgrind 可以在 Linux、FreeBSD、Solaris 和 macOS 上运行(对于后两者来说不太好)。
过去有非官方的分支和补丁可以在 Windows 上运行或与 Wine 一起运行。我从未使用过这些,所以我无法评论它们是否仍然有效。很长一段时间没有任何活动来维护它们。
问题是 Windows 非常不同。Valgrind 需要读取 ELF 和 DWARF(它还可以读取 macho 和 PDB)。它基于 unix mmap、系统调用、信号,这使得移植到 Windows 几乎完全重写。
作为替代方案,还有“记忆博士”。这不像 Valgrind 那么低级别,所以它确实可以在 Windows 上运行。