在做adhoc测试测试时,崩溃报告崩溃了:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_PROTECTION_FAILURE at 0x2ff00ff4
应用程序永远不会在模拟器中崩溃,但肯定会在设备中崩溃。
当我用Object alloc测试时,我得到了一些奇怪的分配,如图中所示(见图中的最后一行):alt text http://img705.imageshack.us/img705/9977/picture2wx.png
所以任何人都可以告诉如何解决这个床位。
答案 0 :(得分:1)
我相信GeneralBlock-X指的是用malloc()
分配的内存块;换句话说,没有类型的原始数据,而不是已知类的实例。
订单项GeneralBlock--32
表示有人试图分配-32个字节的内存。我不认为这会出现在乐器中,但它确实存在。计数也是负数这一事实可能是一个陌生人正在发生的事情的线索,就像你实际上试图分配MAXINT + 33并且数字正在四处走动。我猜。
无论如何,Instruments应该能够为您提供堆栈跟踪内容的分配位置;这些信息对于出了什么问题将是一个有价值的线索。
答案 1 :(得分:1)
请记住,乐器只记录它能看到的内容;如果在启动之前有一些malloc内存,然后在它运行时释放它,你会得到负数。这不一定与您的问题相关。 EXC _ BAD _ ACCESS经常是尝试访问解除分配(或从未初始化)的对象的结果;尝试启用NSZombies然后运行。