0

在进行临时测试时,测试人员得到了崩溃报告:

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

所以任何人都可以告诉如何解决这张床的访问。

4

2 回答 2

1

我相信 GeneralBlock-X 是指分配有的内存块malloc();换句话说,没有类型的原始数据,而不是已知类的实例。

该行项目GeneralBlock--32暗示有人试图分配 -32 字节的内存。我认为这不会出现在 Instruments 中,但它确实存在。计数也是负数的事实可能表明正在发生一些奇怪的事情,就像您实际上正在尝试分配 MAXINT+33 并且数字正在环绕。我正在猜测。

无论如何,Instruments 应该能够为您提供该内存块分配位置的堆栈跟踪;该信息将是有关问题所在的宝贵线索。

于 2009-12-31T04:18:05.633 回答
1

请记住,仪器只记录它可以看到的内容;如果某些东西在它开始之前 malloc'd 内存,然后在它运行时释放它,你会得到一个负数。这不一定与您的问题有关。EXC _ BAD _ ACCESS 通常是尝试访问已释放(或从未初始化)的对象的结果;尝试打开 NSZombies 然后运行。

于 2009-12-31T04:27:25.643 回答