为什么我的 iOS 来自调试版本的崩溃报告仅部分符号化?

Why is my iOS crash report from a debug build only partially symbolicated?

我的 iPhone 上有我的应用程序的崩溃报告,报告中的堆栈仅针对我的应用程序的二进制文件没有符号化。我还没有使用存档版本分发到 Test Flight 或 App Store,所以我只有一个调试版本。

我可以做些什么来完全象征我的调试版本的崩溃报告?

也许我的设置类似于 strip debug symbols during copy 设置错误导致了这个问题?我之所以这么说,是因为有人在另一个问题中提到过,但似乎并没有什么不同。

以下是崩溃报告中有趣的部分:

Incident Identifier: 411B8299-C4B8-4748-B76B-8F24E479BBA4
CrashReporter Key:   3833a4b98976d8b0b8fcc5623a7dff4217fc4101
Hardware Model:      iPhone12,8
Process:             MyApp [27285]
Path:                /private/var/containers/Bundle/Application/3F19D333-751B-4CFE-B648-B2F6E04BD866/MyApp.app/MyApp
Identifier:          Something.MyApp
Version:             1 (1.0)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           Something.MyApp [5248]


Date/Time:           2021-06-28 18:20:49.0345 -0700
Launch Time:         2021-06-28 18:20:42.5327 -0700
OS Version:          iPhone OS 14.6 (18F72)
Release Type:        User
Baseband Version:    2.05.01
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x00000001c9832334 __pthread_kill + 8
1   libsystem_pthread.dylib         0x00000001e727da9c pthread_kill + 272
2   libsystem_c.dylib               0x00000001a4a4fb90 abort + 104
3   libsystem_c.dylib               0x00000001a4a4f024 err + 0
4   MyApp                           0x00000001021228d0 0x1020f8000 + 174288
5   MyApp                           0x0000000102122874 0x1020f8000 + 174196
6   MyApp                           0x0000000102122828 0x1020f8000 + 174120
7   MyApp                           0x0000000102122800 0x1020f8000 + 174080
8   MyApp                           0x0000000102121114 0x1020f8000 + 168212
9   MyApp                           0x00000001021180e0 0x1020f8000 + 131296
10  MyApp                           0x0000000102117010 0x1020f8000 + 126992
11  MyApp                           0x000000010212c5f8 0x1020f8000 + 214520
12  MyApp                           0x0000000102171174 0x1020f8000 + 495988
13  MyApp                           0x000000010212a05c 0x1020f8000 + 204892
14  MyApp                           0x00000001021689b0 0x1020f8000 + 461232
15  SpriteKit                       0x00000001d01df780 -[SKScene _update:] + 364
16  SpriteKit                       0x00000001d01bec50 -[SKRenderer _update:] + 844
17  SpriteKit                       0x00000001d01be8d0 -[SKRenderer updateAtTime:] + 108
18  MyApp                           0x0000000102103a9c 0x1020f8000 + 47772
19  MetalKit                        0x00000001ce5d6778 -[MTKView draw] + 144
20  MetalKit                        0x00000001ce5d2d14 -[MTKViewDisplayLinkTarget draw] + 40
21  QuartzCore                      0x000000019e9047b8 CA::Display::DisplayLink::dispatch_items+ 83896 (unsigned long long, unsigned long long, unsigned long long) + 672
22  QuartzCore                      0x000000019e9e37f4 display_timer_callback+ 997364 (__CFMachPort*, void*, long, void*) + 280
23  CoreFoundation                  0x000000019b5f6a5c __CFMachPortPerform + 176
24  CoreFoundation                  0x000000019b61c274 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60
25  CoreFoundation                  0x000000019b61b5f4 __CFRunLoopDoSource1 + 596
26  CoreFoundation                  0x000000019b6151d8 __CFRunLoopRun + 2372
27  CoreFoundation                  0x000000019b614360 CFRunLoopRunSpecific + 600
28  GraphicsServices                0x00000001b2c52734 GSEventRunModal + 164
29  UIKitCore                       0x000000019e08f584 -[UIApplication _run] + 1072
30  UIKitCore                       0x000000019e094df4 UIApplicationMain + 168
31  MyApp                           0x0000000102168a44 0x1020f8000 + 461380
32  libdyld.dylib                   0x000000019b2d0cf8 start + 4

Thread 1:
0   libsystem_pthread.dylib         0x00000001e7285744 start_wqthread + 0

Thread 2:
0   libsystem_pthread.dylib         0x00000001e7285744 start_wqthread + 0

Thread 3:
0   libsystem_pthread.dylib         0x00000001e7285744 start_wqthread + 0

Thread 4:
0   libsystem_pthread.dylib         0x00000001e7285744 start_wqthread + 0

Thread 5:
0   libsystem_pthread.dylib         0x00000001e7285744 start_wqthread + 0

Thread 6 name:  com.apple.uikit.eventfetch-thread
Thread 6:
0   libsystem_kernel.dylib          0x00000001c980d4fc mach_msg_trap + 8
1   libsystem_kernel.dylib          0x00000001c980c884 mach_msg + 76
2   CoreFoundation                  0x000000019b61aeb0 __CFRunLoopServiceMachPort + 372
3   CoreFoundation                  0x000000019b614d50 __CFRunLoopRun + 1212
4   CoreFoundation                  0x000000019b614360 CFRunLoopRunSpecific + 600
5   Foundation                      0x000000019c901fdc -[NSRunLoop+ 32732 (NSRunLoop) runMode:beforeDate:] + 232
6   Foundation                      0x000000019c901ea8 -[NSRunLoop+ 32424 (NSRunLoop) runUntilDate:] + 92
7   UIKitCore                       0x000000019e14412c -[UIEventFetcher threadMain] + 516
8   Foundation                      0x000000019ca7332c __NSThread__start__ + 864
9   libsystem_pthread.dylib         0x00000001e727cbfc _pthread_start + 320
10  libsystem_pthread.dylib         0x00000001e7285758 thread_start + 8

Thread 7:
0   libsystem_pthread.dylib         0x00000001e7285744 start_wqthread + 0

Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x0000000000000000   x5: 0x0000000000000000   x6: 0x0000000000000030   x7: 0x0000000000000000
    x8: 0x46025ab3c4edaa76   x9: 0x46025ab2c6bd92b6  x10: 0x0000000000000000  x11: 0x0000000000000037
   x12: 0x00000000ffffffff  x13: 0x0000000156bcafe0  x14: 0x0000000000000000  x15: 0x00000001fd88a6a8
   x16: 0x0000000000000148  x17: 0x00000001025038c0  x18: 0x0000000105a17622  x19: 0x0000000000000006
   x20: 0x0000000000000103  x21: 0x00000001025039a0  x22: 0x0000000102176a5e  x23: 0x000000014dd18000
   x24: 0x00000001f1799000  x25: 0x0000000000000000  x26: 0x0000000000000001  x27: 0x0000000283e0a200
   x28: 0x000000015681d600   fp: 0x000000016dd04ba0   lr: 0x00000001e727da9c
    sp: 0x000000016dd04b80   pc: 0x00000001c9832334 cpsr: 0x40000000
   esr: 0x56000080  Address size fault

Binary Images:
0x1020f8000 - 0x10217ffff MyApp arm64  <b2aa8f67eb433d298ff722f4a4d98040> /var/containers/Bundle/Application/3F19D333-751B-4CFE-B648-B2F6E04BD866/MyApp.app/MyApp
0x102428000 - 0x102433fff libobjc-trampolines.dylib arm64e  <26cb4bb90880358ba280192f8ed6d0ad> /usr/lib/libobjc-trampolines.dylib
...

我明白了。我一定是在过去的某个时候编辑了我的构建选项,并且我将 Debug Information Format 构建选项从 DWARF with dSYM File 更改为 DWARF 仅用于我的调试构建。重建后,所有符号都显示出来了。