我收到此错误:
没有堆栈跟踪。
-[__NSArrayI countByEnumeratingWithState:objects:count:]: message sent to deallocated instance
什么叫这个方法?
有没有可能确定这叫什么?我有僵尸,但没有看到来电者。
这是线程1:
其他唯一可点击的行是来自 AFNetworking ( [runloop run]
) 的行。我刚刚升级了我的 AFNetworking 吊舱。
+ (void)networkRequestThreadEntryPoint:(id)__unused object {
@autoreleasepool {
[[NSThread currentThread] setName:@"AFNetworking"];
NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
[runLoop addPort:[NSMachPort port] forMode:NSDefaultRunLoopMode];
[runLoop run];
}
}
编辑:上面的断点@autoreleasepool
甚至没有被命中。我确实在另一个线程中的同一崩溃的代码中找到了这个(上次没有看到):,在archiveSuccessful = line
- (void)archiveContent:(BOOL)changeNotification userInfo:(NSDictionary *)userInfo {
BOOL archiveSuccessful;
@synchronized(self) {
archiveSuccessful = [NSKeyedArchiver archiveRootObject:self.contentDictionary toFile:self.filePath];
}
if (archiveSuccessful) {
if(changeNotification && self.contentChangedNotificationName) {
[[NSNotificationCenter defaultCenter] postNotificationName:self.contentChangedNotificationName object:nil userInfo:userInfo];
}
} else {
NSAssert(NO, @"Saving archive to %@ was not successful", self.filePath);
}
}
这被称为
- (void)addObjects:(NSArray *)objects changeNotification:(BOOL)changeNotification {
[objects enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
if([obj conformsToProtocol:NSProtocolFromString(@"DRLocalObject")]) {
[self addObject:obj changeNotification:NO];
}
}];
调试器打印[self addObject...
输出
(lldb) po obj
0x00007fde0ff56770
(lldb) po 0x00007fde0ff56770
140591727208304
编辑:
threadMain:
从谷歌分析调用。项目查找和快速打开显示没有命名选择器threadMain: