我无法识别要释放的对象,我使用Command + Y运行我的应用程序但是尽管将MallocStackLogging设置为YES并且NSZombieEnabled设置为YES,当我在我的应用程序中点击EXC_BAD_ACCESS时,gdb不会打印内存地址解除分配的对象。有什么想法吗?
道歉,如果这看起来模糊不清,看起来它与核心数据有关,如果有人能提供对输出的深刻分析,我会非常感激。感谢
这是崩溃时的堆栈跟踪:
#0 0x933b4edb in objc_msgSend
#1 0x08c46040 in ??
#2 0x01f3c6c9 in __CFSetDeallocate
#3 0x01f23a41 in _CFRelease
#4 0x01dd9977 in -[_NSFaultingMutableSet dealloc]
#5 0x01dcb892 in -[NSManagedObject(_NSInternalMethods) _clearRawPropertiesWithHint:]
#6 0x01dcb5ed in -[NSFaultHandler turnObject:intoFaultWithContext:]
#7 0x01dccd8c in -[NSManagedObject dealloc]
#8 0x01db0315 in -[_PFManagedObjectReferenceQueue _processReferenceQueue:]
#9 0x01ddd9ba in _performRunLoopAction
#10 0x01f65252 in __CFRunLoopDoObservers
#11 0x01f6465f in CFRunLoopRunSpecific
#12 0x01f63c48 in CFRunLoopRunInMode
#13 0x0268b615 in GSEventRunModal
#14 0x0268b6da in GSEventRun
#15 0x002a7faf in UIApplicationMain
#16 0x00002b60 in main at main.m:13
答案 0 :(得分:3)
运行Clang Static Analyzer(Xcode Build菜单>> Build and Analyze)并检查是否发现任何问题。
昨天我的一个应用程序中出现了“EXC_BAD_ACCESS”问题,我有NSZombieEnabled,但它没有打印消息所以我感到难过但是静态分析器发现了一个问题,我发布了一个永远不会保留的对象,并修复解决了我的问题。