异常类型:一个用户的SIGTRAP

Fab*_*cci 4 crash crash-reports ios swift

我一直收到一个测试用户对带有标题的Swift项目的崩溃日志:

例外类型:SIGTRAP

这是crashlog的相关部分:

Hardware Model:      iPad4,2
Process:         Jam Session [204]
Path:            /var/mobile/Containers/Bundle/Application/FADFF299-ABDC-46AA-8B77-BF4F77301DBF/Jam Session.app/Jam Session
Identifier:      it.info.music.jamsession
Version:         1.0 (1.0.8)
Code Type:       ARM-64
Parent Process:  ??? [1]

Date/Time:       2016-02-26 11:06:46 +0000
OS Version:      iPhone OS 9.2.1 (13D15)
Report Version:  104

Exception Type:  SIGTRAP
Exception Codes: #0 at 0x10002971c
Crashed Thread:  0

Thread 0 Crashed:
0   Jam Session                         0x000000010002971c 0x10000c000 + 120604
1   Jam Session                         0x0000000100023ee4 0x10000c000 + 98020
2   UIKit                               0x0000000187af931c 0x187794000 + 3560220
3   UIKit                               0x0000000187af9484 0x187794000 + 3560580
4   UIKit                               0x0000000187ae87e8 0x187794000 + 3491816
5   UIKit                               0x0000000187afdfb0 0x187794000 + 3579824
6   UIKit                               0x000000018789308c 0x187794000 + 1044620
7   UIKit                               0x00000001877a3778 0x187794000 + 63352
8   QuartzCore                          0x00000001851b2b2c 0x1851a4000 + 60204
9   QuartzCore                          0x00000001851ad738 0x1851a4000 + 38712
10  UIKit                               0x00000001877ba454 0x187794000 + 156756
11  UIKit                               0x000000018786820c 0x187794000 + 868876
12  UIKit                               0x0000000187865be4 0x187794000 + 859108
13  UIKit                               0x000000018787e7dc 0x187794000 + 960476
14  UIKit                               0x000000018787e4c8 0x187794000 + 959688
15  UIKit                               0x000000018787e1d0 0x187794000 + 958928
16  UIKit                               0x00000001877e2e90 0x187794000 + 323216
17  UIKit                               0x00000001877e110c 0x187794000 + 315660
18  UIKit                               0x0000000187871cec 0x187794000 + 908524
19  UIKit                               0x00000001878678c0 0x187794000 + 866496
20  UIKit                               0x0000000187866a6c 0x187794000 + 862828
21  UIKit                               0x0000000187866694 0x187794000 + 861844
22  UIKit                               0x00000001878665fc 0x187794000 + 861692
23  UIKit                               0x00000001877a3778 0x187794000 + 63352
24  QuartzCore                          0x00000001851b2b2c 0x1851a4000 + 60204
25  QuartzCore                          0x00000001851ad738 0x1851a4000 + 38712
26  QuartzCore                          0x00000001851ad5f8 0x1851a4000 + 38392
27  QuartzCore                          0x00000001851acc94 0x1851a4000 + 35988
28  QuartzCore                          0x00000001851ac9dc 0x1851a4000 + 35292
29  QuartzCore                          0x00000001851a60cc 0x1851a4000 + 8396
30  CoreFoundation                      0x0000000182a6c588 0x182990000 + 902536
31  CoreFoundation                      0x0000000182a6a32c 0x182990000 + 893740
32  CoreFoundation                      0x00000001829996a0 0x182990000 + 38560
33  UIKit                               0x0000000187816580 0x187794000 + 533888
34  UIKit                               0x0000000187810d90 0x187794000 + 511376
35  Jam Session                         0x0000000100016cb8 0x10000c000 + 44216
36  libdyld.dylib                       0x000000018253a8b8 0x182538000 + 10424
Run Code Online (Sandbox Code Playgroud)

我个人在用户的iPad上看到了崩溃,奇怪的是,在崩溃后,即使单击主页按钮,应用程序仍然锁定在应用程序的启动画面上.

如果我试图象征我自己项目中的任何条目,我得到:

 atos cannot load symbols for the file 3rdparty for architecture arm64.
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序或用户设备中的问题我可以帮助他修复?

谢谢

Epp*_*ilo 6

我最好的猜测在这里.来自Apple文档:

跟踪陷阱[EXC_BREAKPOINT // SIGTRAP]

与异常退出类似,此异常旨在使附加调试器有机会在其执行的特定点中断进程.您可以使用__builtin_trap()函数从您自己的代码中触发此异常.如果未附加调试器,则终止该过程并生成崩溃报告.

如果在运行时检测到意外情况,Swift代码将使用此异常类型终止程序,例如:

  • 具有nil值的非可选类型
  • 强制类型转换失败

查看崩溃线程的Backtrace以确定遇到意外情况的位置.其他信息也可能已记录到设备的控制台.

根据我的经验,我发现上述情况属实.我经常遇到异步(网络 - 在我的情况下)操作的问题,当我对选项很邋((例如强制转换as!或没有正确使用可选绑定).

此外,为了进行符号化,您应该使用AppStore构建和.dSYM文件(iTunes Connect提交的存档).

完整链接 https://developer.apple.com/library/ios/technotes/tn2151/_index.html