在Xcode/lldb中查看内存分配的一种方法

A way to view memory allocation in Xcode / lldb

我有一个简单的程序并设置了一个断点以查看如何在调试界面(而不是使用 valgrind)中监视内存分配:

上面的程序应该分配很多内存。左边的 "Memory" 图标似乎与动态内存分配无关(可能与 Xcode 本身使用的内存量有关)。有没有命令可以查看lldb内分配了多少内存,比如类似于(gdb) call malloc_stats()?我知道有 Instruments 应用程序(我已经使用过),但我更感兴趣的是能够在调试时逐步了解总内存使用情况。或者,是否有一些 GUI command/panel 可以显示这个?

内存量表确实反映了您的程序分配的内存。如果您按照 Jason 的建议进行操作,您将看到随着分配更多内存而增加。

有几个命令:"memory region" 和 "malloc_info",它们会告诉您分配历史或包含特定地址的内存状态。但是 lldb 没有通用的 "show me all allocated memory regions" 命令,比如 malloc_stats。

您还可以使用 Xcode "Debug Memory Graph" 按钮查看程序中的内存分配 - 包括所有 Malloc 块。