有没有办法检测以下场景,据我所知,在不好的地方覆盖内存?或者其他任何试图为NSString或类似的东西设置NSDictionary的人?
int a[6];
a[6] = 8
另外,为了确保我在我的应用程序中获得了大量的EXC_BAD_ACCESS KERN_INVALID_ADDRESS,并且从我看到的这些是由内存覆盖引起的。有没有其他方法来调试此崩溃,因为它们不会发生在我的设备/模拟器上,而是发生在我无法复制的某些情况下的用户。
答案 0 :(得分:1)
有!
查看Xcode方案编辑器的“选项”面板。你可以启用malloc scribble,这会有所帮助。但是你可能想要的是防护页面。基本上,它在分配的开始或结束时创建一个不可访问的内存页面。如果您尝试读取或写入分配范围之外,则会导致访问崩溃。
详细信息: