我是一名 C 编程学生,正在尝试找到一种方法来检测 MacOs Mojave 上的内存泄漏。
我知道 Valgrind 的存在,但它不支持当前的 MacO 版本。安装 Apple Command Line Tools 后,我尝试使用泄漏工具运行我的 C 程序,但它不起作用...运行这个非常简单的 C 程序:
#include <stdio.h>
int main(int argc, char const *argv[]) {
printf("Hello World\n");
return 0;
}
像这样:
leaks ./a.out
这是输出:
leaks[875]: [fatal] unable to read input graph: The data
couldn’t be read because it isn’t in the correct format.
我不明白为什么会发生这种情况...我如何使用泄漏工具?
最佳答案
与 Valgrind 不同,leaks 命令旨在在执行“leaks”命令时查找已经运行代码中的内存泄漏。
为了获得您正在寻找的功能,您需要以下命令:
leaks -atExit -- ./a.out
关于c - C 中的内存泄漏 (MacOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58013601/