c++ - 列出 Xcode、iOS 中最后的 X malloc/free 调用

标签 c++ ios c xcode

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

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

堆检查器将在发现损坏时报告并中断,每 10 次堆操作检查一次。

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

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

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

最佳答案

你读过this吗?和 this文章已经?那里引用了 gdb 命令 malloc_history...

我不确定这是否是您要查找的内容,但也许它有帮助。

关于c++ - 列出 Xcode、iOS 中最后的 X malloc/free 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30673361/

相关文章:

c++ - 为什么 C++ 允许通过指针访问类的私有(private)成员?

c++ - 什么是 tar 解析器中的链接指示器(文件类型)

ios - swift 改变颜色的属性观察器

ios - 如何在异步完成 block 内发出同步请求

c - 如果h文件包含没有c文件实现的签名,会不会出错?

c++ - 如何使用寄存器和偏移地址?

c++ - std::vector 的编译时间触发范围检查

objective-c - 在非 ARC 项目中包含 ARC header

c - C 程序中的意外结果

c - 将两个结构传递给 C 中的回调函数的更优雅的方法