相关疑难解决方法(0)

在C程序中查找内存泄漏的最佳方法

我正在尝试完成大学任务,标记标准指定内存管理的5% - 特别是没有内存泄漏.

据我所知,简单的C程序中的内存泄漏只是由程序放弃的指针引起的 - 即,malloc/calloc/etc调用永远不会有相应的free.

我的问题分为三部分:

  1. 什么是Solaris和OSX上最简单的方法来"证明"你没有泄露任何内存?
  2. XCode是否有任何工具可以帮助确定内存泄漏?
  3. 一旦进程结束,操作系统是否在ac程序中释放所有先前分配的内存?

c macos pointers memory-management

4
推荐指数
1
解决办法
1717
查看次数

如何使用leaks命令行工具查找内存泄漏?

leaks命令行工具将报告

\n
    \n
  • 泄漏内存的地址
  • \n
  • 泄漏的大小(以字节为单位)
  • \n
  • 泄漏缓冲区的内容
  • \n
\n

像下面这样:

\n
Process:         checker [84357]\nPath:            /path/to/program\nLoad Address:    0x104703000\nIdentifier:      checker\nVersion:         ???\nCode Type:       X86-64\nParent Process:  zsh [64610]\n\nDate/Time:       2019-11-30 18:43:06.864 -0800\nLaunch Time:     2019-11-30 18:42:58.593 -0800\nOS Version:      Mac OS X 10.13.4 (17E199)\nReport Version:  7\nAnalysis Tool:   /usr/bin/leaks\n\nPhysical footprint:         300K\nPhysical footprint (peak):  300K\n----\n\nleaks Report Version: 3.0\nProcess 84357: 161 nodes malloced for 17 KB\nProcess 84357: 3 leaks for 64 total leaked bytes.\n\nLeak: 0x7fdf5b400350  size=16  zone: DefaultMallocZone_0x10470e000\nLeak: 0x7fdf5b4027c0  size=16  zone: DefaultMallocZone_0x10470e000\nLeak: 0x7fdf5b402810  size=32  zone: DefaultMallocZone_0x10470e000\n
Run Code Online (Sandbox Code Playgroud)\n

我的问题是,如何使用这些信息来实际跟踪并查找源代码中哪些 …

c debugging macos memory-leaks command-line-tool

4
推荐指数
1
解决办法
2万
查看次数

C 中的内存泄漏 (MacOS)

我是一名 C 编程学生,试图找到一种方法来检测 MacOs Mojave 上的内存泄漏。

\n\n

我知道 Valgrind 的存在,但它不支持当前的 MacO 版本。安装Apple命令行工具后,我尝试使用泄漏工具运行我的C程序,但它不起作用\xc2\xb4t工作...运行这个非常简单的C程序:

\n\n
#include <stdio.h>\n\nint main(int argc, char const *argv[]) {\n  printf("Hello World\\n");\n  return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

像这样:

\n\n
leaks ./a.out\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是输出:

\n\n
leaks[875]: [fatal] unable to read input graph: The data \n couldn\xe2\x80\x99t be read because it isn\xe2\x80\x99t in the correct format.\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不明白为什么会发生这种情况...我该如何使用泄漏工具?

\n

c macos memory-leaks

1
推荐指数
1
解决办法
1万
查看次数