【发布时间】:2010-07-09 08:07:14
【问题描述】:
最近安装了 4.0 SDK,我重新编译了一个客户端项目以测试它在新操作系统下的运行情况。 (之前用 3.1.3 测试没有崩溃,只有一次内存泄漏,及时报告给苹果,苹果无法在 4.0 beta 3 上重现,因此关闭。)
一切都很顺利(测试期间没有崩溃),直到我决定使用 Leaks 运行它,这导致我的应用每次运行时都会崩溃。
所有的崩溃日志如下所示:
线程 0 崩溃: 0 libobjc.A.dylib 0x00002866 objc_msgSend + 10 1 我的应用程序 0x000040b0 0x1000 + 12464 2 我的应用程序 0x000040b0 0x1000 + 12464 3 我的应用程序 0x000040b0 0x1000 + 12464 ... 511 我的应用程序 0x000040b0 0x1000 + 12464我也到处都有泄漏,但责任库始终是 Apple 的库之一,而且我的应用程序从未出现在堆栈跟踪中。至少对于具有堆栈跟踪的泄漏...其中一些是完全没有堆栈跟踪的常规块泄漏。
有什么想法吗?
更新:以上内容适用于运行 iOS 4 的 iPhone 3GS。当我在运行 3.1.3 的第一代 iPod Touch 上运行构建时,我什至无法启动 Leaks,更别提让它崩溃了……但是我可以在旧设备上进行构建和调试。
(我将 Base SDK 设置为 4.0,将部署目标设置为 3.1.2)
【问题讨论】:
-
我在 4.0 上的测试也遇到了一些问题,我在构建测试项目时使用的类别没有加载。奇怪。
-
一个构建已提交给 Apple,并于昨天获得批准。现在,我将在 Leaks 确实给出误报的假设下工作(当它不忙于崩溃时!)
标签: iphone crash ios4 memory-leaks