为什么我的 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
仅用于我的调试构建。重建后,所有符号都显示出来了。
我的 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
仅用于我的调试构建。重建后,所有符号都显示出来了。