列出Xcode, iOS中最后的X malloc/free调用
List last X malloc/free calls in Xcode, iOS
在Xcode中调试iOS,设置以下环境变量:
MallocCheckHeapStart=1
MallocCheckHeapEach=10
MallocStackLogging=1
MallocStackLoggingNoCompact=1
如果堆检查器发现损坏,它将报告并中断,每10次检查堆操作。
那么我怎么知道最后10个堆操作是什么呢?
我知道malloc_info --stack-history
可以给我一个特定指针的历史,但在这种情况下,我不知道任何指针,我只知道堆损坏发生在最后10个操作。
是否有一种方法可以列出最后X堆操作,以便我可以找到堆损坏的罪魁祸首?
你已经读过这篇文章了吗?这里引用了gdb命令malloc_history
…
我不确定这是否是你要找的,但也许它有帮助。
相关文章:
- 在 malloc 之后检查 &在调用 free() 之前
- Malloc()/free()在Windows上的几个线程中崩溃
- 如果在 C++ 中的 malloc() 之后调用 free() 则会出现错误
- 使用 malloc 而不是 new 会导致 free():指针错误无效
- 如果malloc/free对显然做了同样的工作,为什么C++标准库容器使用内存池
- 在类中使用malloc/free
- 在 C++ 中将 malloc/free 替换为 new/delete
- 如何将'malloc'和'free'替换为'new'和"删除"?
- 在C++中,"new/delete"在结构上代替"malloc/free"有多好?
- 基于malloc/free的STL分配器
- 使用 malloc/free 来模拟新建/删除
- 标准C++的哪些部分将调用malloc/free而不是new/delete
- C++中的 malloc/free 和 new/delete 兼容性
- 编译器将 malloc/free 或 new/delete 对优化为 alloca
- 为什么使用 malloc/free,当我们有 new/delete 时
- 嵌入式RTOS和使用malloc/free
- 将static_cast<字符 *>malloc/free/free转换为新的/删除
- c++中的malloc/free:为什么free不接受const void*,有没有更好的方法?
- 列出Xcode, iOS中最后的X malloc/free调用
- 用静态链接重新定义malloc/free有多个定义错误