iPhone模拟器与线程列表中的WebPreferences崩溃

ohh*_*rob 7 iphone ios-simulator

Apple Developer Reference Library有一个类引用WebPreferences

我搜索了SO,Dev Forums和Google搜索没有任何相关结果.

EXC_BAD_ACCESS 信号生成.

我找不到崩溃报告..它发生在模拟器上.调用调试器,我没有收到崩溃报告.

编辑

当点击a UITextField,在加载视图时将a UITextField或if UITextField设置为第一响应者时触发此操作(由导航控制器按下).

重现并不容易.在它再次发生之前,我可以进行一百个应用程序启动/调试周期.然后在5次发布中可能会发生3次.


我在调试器中有一个线程列表,显示了对WebPreferences的几个引用.

alt text http://i50.tinypic.com/27yrd39.png

ben*_*ord 1

如果您使用NSZombie ,那么您就走在正确的道路上。EXEC_BAD_ACCESS 是由于访问已释放的对象引起的。

EXEC_BAD_ACCESS 在不属于您的代码路径中“崩溃”是正常的。很可能您的代码创建了过度释放的对象。

使用 NSZombie 的关键部分是malloc_history在命令行上运行。您将获得显示过度释放对象的来源的调用堆栈。例如: 替代文本 http://static.benford.name/malloc_history.png

屏幕截图显示我的应用程序崩溃了,[NSString stringByTrimmingCharactersInSet:]但这肯定不是导致崩溃的原因。

我使用的技术是查看您拥有的最早的代码路径。大多数时候,错误就在那里。

在这种情况下,对象源自类[JTServiceHttpRequest requestFinished],其中我没有正确保留对象。

如果所有其他方法都失败,请检查列出的所有代码路径并验证是否使用了正确的内存管理规则。

我敢打赌,WebPreferences行为与UITextField崩溃无关。