我如何通过批判来解决SIGSEGV问题

时间:2013-02-27 14:45:40

标签: iphone ios crittercism

我正在使用生物反应来获取我的应用程序的崩溃报告。 它工作得很好但是我遇到了一个堆栈跟踪崩溃并不是真的有用。

0   libobjc.A.dylib 0x3b16c5b0 objc_msgSend + 16
1   Foundation 0x33d6b0f5 __NSThreadPerformPerform + 461
2   CoreFoundation 0x33429683 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
3   CoreFoundation 0x33428ee9 __CFRunLoopDoSources0 + 213
4   CoreFoundation 0x33427cb7 __CFRunLoopRun + 647
5   CoreFoundation 0x3339aebd CFRunLoopRunSpecific + 357
6   CoreFoundation 0x3339ad49 CFRunLoopRunInMode + 105
7   GraphicsServices 0x36f712eb GSEventRunModal + 75
8   UIKit 0x352b0301 UIApplicationMain + 1121
9   myapp 0x00024c2f main (main.m:14)

坠机是象征性的,但没有任何信息可以指出崩溃的确切地点...... 我认为这可能是一个太快发布的对象,但由于它是一个随机的错误,我不知道它发生在哪里,很难追踪它。 任何人都知道如何将此堆栈跟踪或崩溃报告转换为人类可读的报告?

1 个答案:

答案 0 :(得分:1)

此次崩溃几乎与我目前主要的头痛引起的崩溃完全相同,而且我不知道该怎么做。我的崩溃日志中的更改为main (main.m:6),而不是main (main.m:14)

到目前为止,我发现了这个:

接受的答案表明,这可能与误用performSelector有关。

这家伙也有同样的崩溃,但没有建议的解决方案:

还有其他类似的崩溃日志有一个奇怪的补充:

...
CoreFoundation 0xXXXXXXXX -[NSObject performSelector:withObject:] + XX <- additional line
Foundation     0xXXXXXXXX __NSThreadPerformPerform + XXX
CoreFoundation 0xXXXXXXXX __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + XX
...

这再次表明它与performSelector 相关,但仍有猜测。