我写了一个objective-c wifi库和一个c包装器,可以使用corewlan框架从我的c ++代码调用。我有设置定时器,在定时器到期时,我调用图书馆的scanwifi功能,该功能提供了所有wifi网络详细信息的详细信息。程序通过为释放的对象提供 malloc 错误不正确的校验和来不断崩溃。崩溃不一致,不断出现随机的地方。我尝试保护malloc来查找内存错误,让程序运行超过10个小时,但没有崩溃。当我移除后卫Malloc并执行程序和Boom时,崩溃了。任何人都可以告诉如何捕获此内存错误谢谢
内存管理错误可能特别难以追踪;如果不看到代码,就很难说。
您提到了 GuardMalloc,您是否尝试过启用其他诊断?
- 乱 涂
- 保护边缘
- 后卫马洛克
- 僵尸对象
这可以通过使代码崩溃更可预测(希望更接近错误源)来帮助调试。
(在 Xcode 4.4.1 中,这些是通过"产品"->"编辑方案"->"运行"->"诊断"设置的。