什么是 malloc:使用精简模式记录 malloc(但不是 VM 分配)堆栈

iSw*_*ift 4 xcode ios swift xcode8

您好 xcode 调试中的以下消息是什么。
SomeApp(2389,0x1092763c0) malloc:使用精简模式记录 malloc(但不是 VM 分配)堆栈

代码 8.3

Loo*_*aji 6

日志消息似乎来自

libmalloc-53.1.1/src/malloc.c

作为源代码可以在这里 在行#567 -或者在文本搜索最小“记录的malloc(而不是虚拟机”。

malloc_printf(ASL_LEVEL_INFO, "recording malloc (but not VM allocation) stacks to disk using standard recorder\n");
Run Code Online (Sandbox Code Playgroud)

关于日志环境,您应该查看Apple 文档

如果您担心日志消息,我会参考源代码中的内联注释:

// Set up stack logging as early as possible to catch all ensuing VM allocations,
// including those from _malloc_printf and malloc zone setup.  Make sure to set
// __syscall_logger after this, because prepare_to_log_stacks() itself makes VM
// allocations that we aren't prepared to log yet.
Run Code Online (Sandbox Code Playgroud)

所以我想你应该忽略它,除非你想调试内存分配。

为了设置/取消设置 malloc 调试环境,从项目工具栏中选择Edit Scheme...并进入Diagnostics面板。

XCode 方案面板