错误:发送到解除分配的实例的消息

时间:2013-03-11 15:01:39

标签: ios objective-c debugging

这个问题源自我之前提出的问题。我在调试方面有一些帮助,但现在我在Xcode的控制台中出现了这个错误:

[CFURL absoluteURL]: message sent to deallocated instance 0x949dde0

我已经搜索了absoluteURL实例的所有文件,但它似乎只是引导我一些ASIHttp文件,因为我一直在使用该库。

我正在使用Twitter Auth代码示例,它附带了一些OAuth库,我觉得以下代码可能存在问题:

NSString * authorizationHeader = OAuthorizationHeader([NSURL URLWithString:@"https://api.twitter.com/oauth/request_token"],
                                                     method,
                                                     bodyData,
                                                     [GSTwitterSignedRequest consumerKey],
                                                     [GSTwitterSignedRequest consumerSecret],
                                                     _authToken,
                                                     _authTokenSecret);

我只是不完全了解如何追踪这一点。提前谢谢。

1 个答案:

答案 0 :(得分:3)

启用僵尸并在启用僵尸的乐器中的分配工具下运行您的应用。同时打开“跟踪引用计数”和“仅跟踪实时分配”(名称的近似值 - 不在我面前;分配工具中有两个复选框)。

当应用程序遇到发送到解除分配的实例错误的消息时,您应该能够看到该对象上的所有保留/发布,更重要的是,确切地看到它被分配的位置。

某处,有一个URL过早释放或过度释放。


请参阅Instruments documentation中的“查找僵尸”。