簡體   English   中英

奇怪的內存管理問題

[英]Strange memory management issue

我無法確定要釋放的對象,我使用Command + Y運行我的應用程序,但是盡管將MallocStackLogging設置為YES並將NSZombieEnabled設置為YES,當我在應用程序中點擊EXC_BAD_ACCESS時,gdb不會打印已釋放的對象的內存地址賓語。 有任何想法嗎?

抱歉,如果看起來含糊不清,它似乎與Core Data有關,如果有人可以提供對輸出的深刻分析,我將非常感謝。 謝謝

這是崩潰時的堆棧跟蹤:

#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

運行Clang Static Analyzer(Xcode Build菜單>> Build and Analyze),並檢查是否發現任何問題。

昨天我的一個應用程序中出現“ EXC_BAD_ACCESS”問題,並且我有NSZombieEnabled,但沒有打印消息,所以我很困惑,但是靜態分析器發現一個問題,我釋放了一個從未保留的對象,並進行了修復解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM