【问题标题】:App Crashing Upon Startup for Users, Cannot Replicate Errors用户启动时应用程序崩溃,无法复制错误
【发布时间】:2012-11-30 14:50:37
【问题描述】:

前几天我的应用程序更新上线,在各种设备和操作系统上进行测试都没有问题。但是,我的几个用户在启动时崩溃了。我在阅读崩溃日志方面相当陌生。对于这个特定的崩溃日志,有人能指出我从哪里开始寻找正确的方向吗?我希望这个问题也能帮助其他人破译类似的日志。如果我知道要发布哪个代码,我可以根据需要发布代码。

我看到很多帖子鼓励开发人员使用 NSZombie 等。让我重申一下,我无法自己复制这个崩溃,无论是在模拟器中还是在我拥有的任何设备上。这是一个用户发给我的,我收到了几个看起来像的。

我不得不将我的应用从应用商店下架,并急于将其恢复。任何帮助将不胜感激。

Incident Identifier: D56D112D-A7A5-44C0-AE3A-DE9172B0307D CrashReporter Key:   58cb8875fb20ba07fd89538f0489f0a971488f9e Hardware Model:      iPhone4,1 Process:         MyApp [13747] Path:            /var/mobile/Applications/02DEF31B-0435-4656-BA71-DEC01DCEDB84/MyApp.app/MyApp Identifier:      MyApp Version:         ??? (???) Code Type:       ARM (Native) Parent Process:  launchd [1]

Date/Time:       2012-11-29 07:31:42.137 -0500 OS Version:      iPhone OS 5.1.1 (9B206) Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x00000000 Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread Thread 0 Crashed: 
0   MyApp                               0x0012180a 0x91000 + 591882 
1   MyApp                               0x00121a38 0x91000 + 592440 
2   MyApp                           0x000b3cac 0x91000 + 142508 
3   Foundation                      0x3559c92c __NSFireDelayedPerform + 408 
4   CoreFoundation              0x35a56a2c __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
+ 8 
5   CoreFoundation                  0x35a56692 __CFRunLoopDoTimer + 358 
6   CoreFoundation                  0x35a55268 __CFRunLoopRun + 1200 
7   CoreFoundation                  0x359d849e CFRunLoopRunSpecific + 294 
8   CoreFoundation                  0x359d8366 CFRunLoopRunInMode + 98 
9   GraphicsServices                0x37674432 GSEventRunModal + 130 
10  UIKit                           0x334e4cce UIApplicationMain + 1074 
11  MyApp                               0x00093e48 0x91000 + 11848 
12  MyApp


Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0   libsystem_kernel.dylib          0x363283a8 kevent + 24
1   libdispatch.dylib               0x34912f04 _dispatch_mgr_invoke + 708
2   libdispatch.dylib               0x34912c22 _dispatch_mgr_thread + 30

Thread 2:
0   libsystem_kernel.dylib          0x36338cd4 __workq_kernreturn + 8
1   libsystem_c.dylib               0x32e3ff36 _pthread_wqthread + 610
2   libsystem_c.dylib               0x32e3fcc8 start_wqthread + 0

Thread 3 name:  WebThread
Thread 3:
0   libsystem_kernel.dylib          0x36328004 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x363281fa mach_msg + 50
2   CoreFoundation                  0x35a563ec __CFRunLoopServiceMachPort + 120
3   CoreFoundation                  0x35a55124 __CFRunLoopRun + 876
4   CoreFoundation                  0x359d849e CFRunLoopRunSpecific + 294
5   CoreFoundation                  0x359d8366 CFRunLoopRunInMode + 98
6   WebCore                         0x318d7c9c _ZL12RunWebThreadPv + 396
7   libsystem_c.dylib               0x32e4572e _pthread_start + 314
8   libsystem_c.dylib               0x32e455e8 thread_start + 0

Thread 4:
0   libsystem_kernel.dylib          0x36338cd4 __workq_kernreturn + 8
1   libsystem_c.dylib               0x32e3ff36 _pthread_wqthread + 610
2   libsystem_c.dylib               0x32e3fcc8 start_wqthread + 0

Thread 5:
0   libsystem_kernel.dylib          0x36338cd4 __workq_kernreturn + 8
1   libsystem_c.dylib               0x32e3ff36 _pthread_wqthread + 610
2   libsystem_c.dylib               0x32e3fcc8 start_wqthread + 0

Thread 0 crashed with ARM Thread State:
    r0: 0x001ef7a4    r1: 0x001ed9ac      r2: 0x00000000      r3: 0x00000000
    r4: 0x003c16a0    r5: 0x00000000      r6: 0x00000000      r7: 0x2fe8ee2c
    r8: 0x0019b7af    r9: 0x00000001     r10: 0x001ef698     r11: 0x00000006
    ip: 0x3ed9d1f4    sp: 0x2fe8ee20      lr: 0x326af187      pc: 0x0012180a
  cpsr: 0x00000030

【问题讨论】:

  • 你需要先符号化日志。这将准确地告诉您是哪一行代码导致了问题。快速搜索将为您提供大量关于如何做到这一点的讨论。
  • 我将日志拖到 Organizer->Library->Device Logs 并单击重新符号化,这就是我得到的。你能告诉我我做错了什么吗?
  • 您在准备将应用程序发送给 Apple 时是否存档了它?你有应用程序的 dSYM 吗?如果没有,那你就不走运了。
  • 我确实存档了。我不知道我是否有 DSYM,因为除了存档我没有采取任何特殊步骤。我现在正在亮出我的绿色,不是吗?我可以从存档文件中得到我需要的东西吗?我现在可以在与创建存档时完全相同的状态下运行 Xcode - 这可能会有所帮助还是我不走运?
  • 如果你有存档,那么你就有了你需要的东西。存档包括 dSYM。搜索象征性的崩溃报告。你会发现比我在评论中输入的信息要好得多。但是从Apple's TN2151开始。

标签: iphone ios crash crash-reports symbolicatecrash


【解决方案1】:

我很难用符号表示我的崩溃日志,而且如果不使用 atos,我永远无法让它工作。我很确定这是因为我的应用名称包含一个空格和一个撇号。这是一个线程的链接,我终于能够手动使用 atos 获取我需要的信息(以及最终的一些十六进制数学 - 呃)。

Symbolicate Crash Log when App Name Contains Apostrophe and Space (Deployed App)

【讨论】:

    猜你喜欢
    • 2015-01-09
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    相关资源
    最近更新 更多