他们通过以下方式产生崩溃:启动应用。选择让我环顾四周 第一。应用程序崩溃。
他们发回给我们的日志似乎没有显示任何应用程序自己的方法:
ncident Identifier: 8B5E90DE-99FD-4279-B634-2C777209F2B3
CrashReporter Key: 6e9ccd0fcdc29915ebe22fb7376bd343cdcc252a
Hardware Model: iPhone3,1
Process: Snug [297]
Path: /var/mobile/Applications/DB3EFF00-7E5E-492A-9108-1341B6371B0D/Snug.app/Snug
Identifier: Snug
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2012-09-09 13:00:32.642 -0700
OS Version: iPhone OS 5.1.1 (9B206)
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 6
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x319e7660 __semwait_signal_nocancel + 24
1 libsystem_c.dylib 0x3410b4da nanosleep$NOCANCEL + 118
2 libsystem_c.dylib 0x340dd3a0 usleep$NOCANCEL + 44
3 libsystem_c.dylib 0x340dd2b6 abort + 118
4 Snug 0x001f8760 uncaught_exception_handler + 12
5 CoreFoundation 0x37830950 __handleUncaughtException + 68
6 libobjc.A.dylib 0x3553533e _objc_terminate + 122
7 libc++abi.dylib 0x36f683be safe_handler_caller(void (*)()) + 70
8 libc++abi.dylib 0x36f6844a std::terminate() + 14
9 libc++abi.dylib 0x36f6981e __cxa_rethrow + 82
10 libobjc.A.dylib 0x355352a2 objc_exception_rethrow + 6
11 CoreFoundation 0x37786506 CFRunLoopRunSpecific + 398
12 CoreFoundation 0x37786366 CFRunLoopRunInMode + 98
13 GraphicsServices 0x33f45432 GSEventRunModal + 130
14 UIKit 0x31532cce UIApplicationMain + 1074
15 Snug 0x000f590c main (main.m:16)
16 Snug 0x000f58c0 start + 32
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0 libsystem_kernel.dylib 0x319d73a8 kevent + 24
1 libdispatch.dylib 0x3095cea4 _dispatch_mgr_invoke + 708
2 libdispatch.dylib 0x3095cbc2 _dispatch_mgr_thread + 30
Thread 2:
0 libsystem_kernel.dylib 0x319e7cd4 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3409ff36 _pthread_wqthread + 610
2 libsystem_c.dylib 0x3409fcc8 start_wqthread + 0
Thread 3:
0 libsystem_kernel.dylib 0x319e7cd4 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3409ff36 _pthread_wqthread + 610
2 libsystem_c.dylib 0x3409fcc8 start_wqthread + 0
Thread 4 name: WebThread
Thread 4:
0 libsystem_kernel.dylib 0x319d7004 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x319d71fa mach_msg + 50
2 CoreFoundation 0x378043ec __CFRunLoopServiceMachPort + 120
3 CoreFoundation 0x37803124 __CFRunLoopRun + 876
4 CoreFoundation 0x3778649e CFRunLoopRunSpecific + 294
5 CoreFoundation 0x37786366 CFRunLoopRunInMode + 98
6 WebCore 0x3312fc9c RunWebThread(void*) + 396
7 libsystem_c.dylib 0x340a572e _pthread_start + 314
8 libsystem_c.dylib 0x340a55e8 thread_start + 0
Thread 5 name: com.apple.NSURLConnectionLoader
Thread 5:
0 libsystem_kernel.dylib 0x319d7004 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x319d71fa mach_msg + 50
2 CoreFoundation 0x378043ec __CFRunLoopServiceMachPort + 120
3 CoreFoundation 0x37803124 __CFRunLoopRun + 876
4 CoreFoundation 0x3778649e CFRunLoopRunSpecific + 294
5 CoreFoundation 0x37786366 CFRunLoopRunInMode + 98
6 Foundation 0x38016bb2 +[NSURLConnection(Loader) _resourceLoadLoop:] + 302
7 Foundation 0x38016a7a -[NSThread main] + 66
8 Foundation 0x380aa58a __NSThread__main__ + 1042
9 libsystem_c.dylib 0x340a572e _pthread_start + 314
10 libsystem_c.dylib 0x340a55e8 thread_start + 0
Thread 6 Crashed:
0 libsystem_kernel.dylib 0x319e7cd4 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3409ff36 _pthread_wqthread + 610
2 libsystem_c.dylib 0x3409fcc8 start_wqthread + 0
Thread 7:
0 libsystem_kernel.dylib 0x319e7cd4 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3409ff36 _pthread_wqthread + 610
2 libsystem_c.dylib 0x3409fcc8 start_wqthread + 0
Thread 8:
0 libsystem_kernel.dylib 0x319e7cd4 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3409ff36 _pthread_wqthread + 610
2 libsystem_c.dylib 0x3409fcc8 start_wqthread + 0
Thread 9 name: com.apple.CFSocket.private
Thread 9:
0 libsystem_kernel.dylib 0x319e7570 __select + 20
1 CoreFoundation 0x3780863a __CFSocketManager + 726
2 libsystem_c.dylib 0x340a572e _pthread_start + 314
3 libsystem_c.dylib 0x340a55e8 thread_start + 0
Thread 6 crashed with ARM Thread State:
r0: 0x00000004 r1: 0x00000000 r2: 0x00000000 r3: 0x00000000
r4: 0x0c8cc800 r5: 0x0036a08c r6: 0x04339000 r7: 0x04338fe0
r8: 0x3f29fd30 r9: 0x00000000 r10: 0x3f29fd50 r11: 0x00000000
ip: 0x00000170 sp: 0x04338fc0 lr: 0x3409ff3d pc: 0x319e7cd4
cpsr: 0x40000010
任何人都可以通过此崩溃报告启发我们吗?
更新:
我们唠叨了应用审核小组向我们发送了控制台跟踪,他们做到了。在跟踪中,显然正在调用不存在的String类别方法。
错误是特定类别实现文件未添加到我们的发布目标中。所以一切都很完美但是当应用程序存档时,实现文件丢失了。
答案 0 :(得分:2)
不幸的是,这个日志看起来不太有用 - 它只是显示主线程处理从另一个线程重新抛出的异常;该线程在日志时已经开始执行其他操作。
你提到你对RestKit
循环的怀疑以及NSOperation
抛出异常的可能性。这是可能的,值得检查(并且交叉指责它不会破坏其他东西......),但现在可能是时候请求应用程序审核小组为您提供更好的重现步骤。看看你是否可以确定你们所做的不同。我希望我能为你找到一个更好的答案,但我认为你可以在应用程序的这一部分中探索你在后台做的所有事情,并试图弄清楚重现的缺失步骤将是你最好的选择。祝你好运!
答案 1 :(得分:1)
崩溃发生在线程0中最顶端的Snug第4行
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x319e7660 __semwait_signal_nocancel + 24
1 libsystem_c.dylib 0x3410b4da nanosleep$NOCANCEL + 118
2 libsystem_c.dylib 0x340dd3a0 usleep$NOCANCEL + 44
3 libsystem_c.dylib 0x340dd2b6 abort + 118
4 Snug 0x001f8760 uncaught_exception_handler + 12
5 CoreFoundation 0x37830950 __handleUncaughtException + 68
6 libobjc.A.dylib 0x3553533e _objc_terminate + 122
7 libc++abi.dylib 0x36f683be safe_handler_caller(void (*)()) + 70
8 libc++abi.dylib 0x36f6844a std::terminate() + 14
9 libc++abi.dylib 0x36f6981e __cxa_rethrow + 82
10 libobjc.A.dylib 0x355352a2 objc_exception_rethrow + 6
11 CoreFoundation 0x37786506 CFRunLoopRunSpecific + 398
12 CoreFoundation 0x37786366 CFRunLoopRunInMode + 98
13 GraphicsServices 0x33f45432 GSEventRunModal + 130
14 UIKit 0x31532cce UIApplicationMain + 1074
15 Snug 0x000f590c main (main.m:16)
16 Snug 0x000f58c0 start + 32
应用程序导致了一个未被捕获的异常。 要对报告进行符号化,只需将其拖入xCode - 您需要为审核版本提供dSYM文件。然后xCode将显示出现问题的确切行。要获得dSym,您需要“构建和存档”。
此外,因为崩溃代码是
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
崩溃的原因是内存访问问题。在许多情况下会生成这种崩溃报告,其中一个尝试将nil对象嵌入到数组或字典中。 (因为崩溃是在主线程中而不是在报告的线程6中)
在你的情况下,我没有看到任何明显的插入,但是我会检查从主文件的第16行开始的逻辑以及随后的所有逻辑。我假设你正在访问一个在此次调用时不再存在的对象。
答案 2 :(得分:0)
您可以使用以下
分析崩溃报告分析来自apple的崩溃报告的步骤:
将推送到appstore的.app文件复制,发布时创建的.dSYM文件,并将崩溃报告从APPLE接收到文件夹。
打开终端应用程序并转到上面创建的文件夹(使用CD命令)
atos -arch armv7 -o YOURAPP.app/YOURAPP MEMORY_LOCATION_OF_CRASH。内存位置应该是应用程序根据报告崩溃的位置。
例如:atos -arch armv7 -o'app name.app'/'app name'0x0003b508
这会显示导致崩溃的确切行,方法名称。
Ex:[classname functionName:]; -510
符号化IPA
如果我们使用IPA进行符号化 - 只需使用.zip重命名扩展名.ipa,然后将其解压缩,然后我们就可以获得包含app的Payload文件夹。在这种情况下,我们不需要.dSYM文件。
的链接