列出Xcode, iOS中最后的X malloc/free调用

List last X malloc/free calls in Xcode, iOS

本文关键字:malloc free 调用 最后的 Xcode iOS 列出      更新时间:2023-10-16

在Xcode中调试iOS,设置以下环境变量:

MallocCheckHeapStart=1
MallocCheckHeapEach=10
MallocStackLogging=1
MallocStackLoggingNoCompact=1

如果堆检查器发现损坏,它将报告并中断,每10次检查堆操作。

那么我怎么知道最后10个堆操作是什么呢?

我知道malloc_info --stack-history可以给我一个特定指针的历史,但在这种情况下,我不知道任何指针,我只知道堆损坏发生在最后10个操作。

是否有一种方法可以列出最后X堆操作,以便我可以找到堆损坏的罪魁祸首?

你已经读过这篇文章了吗?这里引用了gdb命令malloc_history

我不确定这是否是你要找的,但也许它有帮助。