0

这个问题源于我之前提出的一个问题。我在调试方面得到了一些帮助,但现在我在 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);

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

4

1 回答 1

3

启用僵尸并在启用 Zombies 的 Instruments 中的 Allocations 工具下运行您的应用程序。还要打开“跟踪引用计数”和“仅跟踪实时分配”(名称的近似值——不要在我面前;分配工具中的两个复选框)。

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

在某个地方,有一个 URL 被过早发布或过度发布。


请参阅Instruments 文档中的“寻找僵尸” 。

于 2013-03-11T15:22:05.513 回答