c - C 中的内存泄漏 (MacOS)

标签 c macos memory-leaks

我是一名 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/

相关文章:

objective-c - 使用 UINavigationController View 进行内存管理

c++ - FANN:使用从多个文件读取的数据训练 ANN 时发生内存泄漏

c - 输出指定长度和和的数字

c - 将 C 代码转换为 MIPS 汇编代码

c++ - 如何查找 "process"占用的大小/内存空间

在 Visual Studio 2010 中用 C 编译给出 MSVCRTD.lib(crtexew.obj) : error LNK2019

objective-c - Mac OS X 的 CADisplayLink 替代品

java - 在 Java 中使用 10.8 通知中心

c++ - LibXML2 xmlGetProp() - 没有匹配函数

android - 在 Android 中定位内存泄漏