我有一个简单的程序,并设置了一个断点,以查看如何在调试界面中监视内存分配(而不是例如使用valgrind):
以上程序应分配大量内存。似乎左侧的“内存”图标与动态内存分配无关(也许与Xcode本身正在使用的内存量有关)。是否有命令查看lldb
中已分配了多少内存,例如类似于(gdb) call malloc_stats()
的命令?我知道有一个Instruments应用程序(我已经使用过),但是我更感兴趣的是能够在调试它的过程中逐步解决总内存使用情况。或者,是否有一些GUI命令/面板会显示此信息?
内存规确实反映了您的程序分配的内存。如果您按照Jason的建议进行操作,则会看到随着分配更多的内存而增加。
有几个命令:“内存区域”和“ malloc_info”,它们会告诉您分配历史记录或包含特定地址的内存状态。但是lldb没有通用的“显示所有分配的内存区域”命令,例如malloc_stats。
您还可以使用Xcode的“调试内存图”按钮查看程序中的内存分配-包括所有Malloc块。