【问题标题】:Xcode 5.1.1 not symbolicating Framework linesXcode 5.1.1 不符号化框架行
【发布时间】:2014-07-31 17:19:37
【问题描述】:

我们编写的一个应用程序在客户的装有 iOS 7.1.1 的 iPad Air 上随机崩溃。在其他 iPad 类型上运行该应用程序的用户没有遇到此问题。客户通过使用 iTunes 提取崩溃日志向我们发送了崩溃日志,我们发现大约 21 次崩溃都是由于以下原因:

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000000000defe
Triggered by Thread:  9

Thread 9 Crashed:
0   libsystem_c.dylib               0x3a00706b 0x39fbd000 + 303211
1   libsystem_c.dylib               0x3a007001 0x39fbd000 + 303105
2   libsystem_malloc.dylib          0x3a07dd21 0x3a07b000 + 11553
3   libobjc.A.dylib                 0x39aa83a5 0x39a9e000 + 41893
4   libobjc.A.dylib                 0x39ab0b67 0x39a9e000 + 76647
5   CoreFoundation                  0x2edfc181 0x2edf7000 + 20865
6   CoreFoundation                  0x2ee085b1 0x2edf7000 + 71089
7   libobjc.A.dylib                 0x39ab0b67 0x39a9e000 + 76647
8   libobjc.A.dylib                 0x39ab10cf 0x39a9e000 + 78031
9   libobjc.A.dylib                 0x39ab1b49 0x39a9e000 + 80713
10  libsystem_pthread.dylib         0x3a0bc6cf 0x3a0bb000 + 5839
11  libsystem_pthread.dylib         0x3a0bc44f 0x3a0bb000 + 5199
12  libsystem_pthread.dylib         0x3a0bd1b5 0x3a0bb000 + 8629
13  Foundation                      0x2f8086ff 0x2f7e7000 + 136959
14  Foundation                      0x2f8b4a29 0x2f7e7000 + 842281
15  libsystem_pthread.dylib         0x3a0bd957 0x3a0bb000 + 10583
16  libsystem_pthread.dylib         0x3a0bd8c7 0x3a0bb000 + 10439
17  libsystem_pthread.dylib         0x3a0bbae4 0x3a0bb000 + 2788 

问题在于 Xcode 5.1.1 正确地符号化了我们应用程序中的崩溃日志语句,但它未能符号化来自框架的语句,因此我们无法看到该线程崩溃的原因。

帮助非常感谢。

更新:已将其标记为重复的问题解决了 dSYM 文件未正确加载且崩溃日志未显示应用程序中的代码的问题。我可以很好地看到应用程序中的语句,因为我已经成功加载了 dSYM,甚至通过交叉引用 UUID 检查了 dSYM 的有效性。我的问题是框架语句(与 iOS SDK 本身相关的代码)没有被符号化。我看不出该问题中的任何答案可以解决这个问题。这是另一个线程,它显示了正确符号化的应用程序语句:

Thread 0:
0   libsystem_kernel.dylib          0x3a056544 0x3a043000 + 79172
1   libsystem_c.dylib               0x39fc7745 0x39fbd000 + 42821
2   Foundation                      0x2f8b411d 0x2f7e7000 + 839965
3   MyAppName                   0x00255477 -[xxxx dismissView] (xxx.m:436)
4   MyAppName                   0x00259447 -[xxxx goToSessionSummaryView] (xxx.m:1459)
5   CoreFoundation                  0x2eecf450 0x2edf7000 + 885840
6   CoreFoundation                  0x2ee199a3 0x2edf7000 + 141731
7   MyAppName                   0x001b6523 -[GTMHTTPFetcher invokeFetchCallback:target:data:error:] (GTMHTTPFetcher.m:878)
8   MyAppName                   0x001b643b -[GTMHTTPFetcher invokeFetchCallbacksWithData:error:] (GTMHTTPFetcher.m:852)
9   MyAppName                   0x001b6db5 -[GTMHTTPFetcher connectionDidFinishLoading:] (GTMHTTPFetcher.m:1087)
10  Foundation                      0x2f80b245 0x2f7e7000 + 148037
11  Foundation                      0x2f80b185 0x2f7e7000 + 147845
12  Foundation                      0x2f80b0a1 0x2f7e7000 + 147617
13  CFNetwork                       0x2eb31295 0x2ea87000 + 696981
14  CFNetwork                       0x2eb2fe99 0x2ea87000 + 691865
15  CoreFoundation                  0x2edff197 0x2edf7000 + 33175
16  CFNetwork                       0x2eac7997 0x2ea87000 + 264599
17  CFNetwork                       0x2eac7857 0x2ea87000 + 264279
18  CFNetwork                       0x2eac76e5 0x2ea87000 + 263909
19  CoreFoundation                  0x2ee96fed 0x2edf7000 + 655341
20  CoreFoundation                  0x2ee964b3 0x2edf7000 + 652467
21  CoreFoundation                  0x2ee94ca3 0x2edf7000 + 646307
22  CoreFoundation                  0x2edff765 0x2edf7000 + 34661
23  CoreFoundation                  0x2edff547 0x2edf7000 + 34119
24  GraphicsServices                0x33d366cf 0x33d2d000 + 38607
25  UIKit                           0x3175e88d 0x316f0000 + 452749
26  MyAppName                   0x00108a63 main (main.m:15)
27  MyAppName                   0x000fbe14 start + 36

感谢您的帮助!

【问题讨论】:

  • 您的 Mac 上有 iOS 7.1.1 的 64 位符号吗?您可以通过将运行 iOS 7.1.1 的 64 位 iOS 设备连接到该 Mac 来获取它们。
  • @mjouni 你有想过这个吗?我在 Xcode 9.2 和 iOS 11.2 上遇到了同样的问题。

标签: ios objective-c xcode


【解决方案1】:

Kerni 的评论就是答案:

“您的 Mac 上是否有 iOS 7.1.1 的 64 位符号?您可以通过将运行 iOS 7.1.1 的 64 位 iOS 设备连接到该 Mac 来获得它们。– Kerni”

我使用 7.1.1 插入 iPhone 5s,并能够提取完全符号化崩溃日志所需的符号。

谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多