有没有办法从 SIGSEGV 获取更多信息?
以下是我们最近的一份崩溃报告。它没有被符号化,但是符号化后,它指向main.m,这没有任何意义。有没有办法从中获取更多信息?我们也在这里回顾了其他线程。
最后一行代表:
17 OurApp 0x00091d00 主(main.m:6)
Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0x10000008
Crashed Thread: 0
Thread 0 Crashed:
0 libobjc.A.dylib 0x30818fbc 0x30815000 + 16316
1 UIKit 0x339b247d 0x33953000 + 390269
2 UIKit 0x339b159b 0x33953000 + 386459
3 UIKit 0x3396c6f3 0x33953000 + 104179
4 CoreFoundation 0x3737d6af 0x37353000 + 173743
5 QuartzCore 0x3141ae31 0x31418000 + 11825
6 QuartzCore 0x314d49d5 0x31418000 + 772565
7 QuartzCore 0x3141f5af 0x31418000 + 30127
8 QuartzCore 0x3141f3c3 0x31418000 + 29635
9 QuartzCore 0x31419a09 0x31418000 + 6665
10 CoreFoundation 0x373d6fc3 0x37353000 + 540611
11 CoreFoundation 0x373d4fd7 0x37353000 + 532439
12 CoreFoundation 0x373d5331 0x37353000 + 533297
13 CoreFoundation 0x3737703d 0x37353000 + 147517
14 CoreFoundation 0x37376f05 0x37353000 + 147205
15 GraphicsServices 0x30dc40d5 0x30dc0000 + 16597
16 UIKit 0x33954991 0x33953000 + 6545
17 OurApp 0x00091d00 0x1000 + 593152
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 QuincyKit 或基于 PLCrashReporter。您绝对找不到比现场诊断崩溃更有用的信息来源,您的用户会因此而喜欢您。
Use QuincyKit or another framework based on PLCrashReporter. You absolutely won't find a more useful source of information w.r.t. diagnosing crashes in the field and your users will love you for it.
请参阅另外两个问题以及我对它们的回答,了解最有可能开始挖掘的地方: 什么可能导致此 SIGSEGV 错误? 和 SIGSEGV SEGV_ACCERR 崩溃报告 - 该怎么办?。每当您看到这样的堆栈跟踪时,请将指向已释放的对象的对象委托回您的应用程序,这是您应该首先查看的地方。只有代码审查才会发现这样的问题。
See these two other questions and my answer to them for the most likely place to start digging: What can cause this SIGSEGV error? and SIGSEGV SEGV_ACCERR Crash Reports - What to do?. Anytime you see a stack trace like this, delegate that point back into your app at object that were already deallocated are the first place you should look. Only a code review is going to turn up problems like this.