Ios setValue:forKey与_sigtramp崩溃

Ios setValue:forKey与_sigtramp崩溃,ios,iphone,crash,kvc,Ios,Iphone,Crash,Kvc,痕迹是这样的 Application received signal SIGSEGV Stack trace: #0 CoreFoundation 002BCE149F <redacted>() #1 libobjc.A.dylib 00394F8C8B objc_exception_throw() #2 CoreFoundation 002BCE13E

痕迹是这样的

Application received signal SIGSEGV

Stack trace:
#0  CoreFoundation                      002BCE149F <redacted>()
#1  libobjc.A.dylib                     00394F8C8B objc_exception_throw()
#2  CoreFoundation                      002BCE13E5 -[NSException initWithCoder:]
#3  funadhoc                            000025B129 UmengSignalHandler()
#4  libsystem_platform.dylib            0039BB8873 _sigtramp()
#5  libobjc.A.dylib                     0039505571 objc_setProperty_nonatomic_copy()
#6  Foundation                          002C947F59 -[NSObject setValue:forKey:]
#7  Foundation                          002C9C58F3 -[NSObject setValuesForKeysWithDictionary:]
..........................
应用程序接收信号SIGSEGV
堆栈跟踪:
#0 CoreFoundation 002BCE149F()
#1 libobjc.A.dylib 00394F8C8B objc_异常_抛出()
#2 CoreFoundation 002BCE13E5-[NSException initwith coder:]
#3 funadhoc 000025B129 UmengSignalHandler()
#4 libsystem_platform.dylib 0039BB8873_sigtramp()
#5 libobjc.A.dylib 0039505571 objc_setProperty_nonatomic_copy()
(6)基金会02C947 F59- [ NSObjultStValue:FordKi: ]
第7版基金会02C9C58F3- [ NSO对象StValueSvestKysOffice字典:]
..........................
我了解
setValue:forundinedkey:
setNilValueForKey:
的情况,但这是什么

此外,有些系统符号是
,如何将其符号化?

在本例中,\u sigtramp()表示您的应用程序接收到Unix信号,在本例中为SIGSEGV。SIGSEGV表示您的应用程序由于内存访问冲突而发送此信号。在本例中,我猜这是由您对setValue:forKey:的调用引起的。也许您调用setValue:forKey:on(该方法的接收者)的对象已经被释放?或者可能是键或值已被释放?这可能是你应该检查的


尝试启用NSZombieEnabled(环境变量)。它将保留对象并将其标记为“僵尸”,然后向您报告您试图访问僵尸。如果使用ARC,则可能存在对对象的某些不安全的未恢复引用。你需要有一个强有力的参考。如果它不是圆弧,那么您可能无法正确保留它。

如果您不发布代码,则查找问题有点棘手。