EXC_BAD_ACCESS (SIGABRT),iOS崩溃日志

5

我有一个关于我的iPhone/iPad应用程序的问题。它已经发布在应用商店中,但现在似乎有一些用户在尝试启动应用程序时遇到崩溃的情况。有时候通过硬重启可以解决问题。如果有人能帮我弄清楚发生了什么,我会非常高兴。该应用程序是使用Unity 3D构建的,如果有影响的话...以下是我的崩溃日志:

Hardware Model:      iPad2,3
Process:         thegame [3955]
Path:            /var/mobile/Applications/...thegame.app/thegame
Identifier:      thegame
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]
Date/Time:       2013-03-18 23:00:43.195 +0000
OS Version:      iOS 6.1.2 (10B146)
Report Version:  104

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

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x3a863350 __pthread_kill + 8
1   libsystem_c.dylib               0x3a7da11e pthread_kill + 54
2   libsystem_c.dylib               0x3a81696e abort + 90
3   thegame                         0x00bc6288 0x1000 + 12341896
4   thegame                         0x00bb6e64 0x1000 + 12279396
5   libsystem_c.dylib               0x3a7e3e90 _sigtramp + 40
6   thegame                         0x007b9688 0x1000 + 8095368
7   thegame                         0x007b9688 0x1000 + 8095368
8   Foundation                      0x32e110f0 __NSThreadPerformPerform + 456
9   CoreFoundation                  0x324cf680 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12
10  CoreFoundation                  0x324ceee4 __CFRunLoopDoSources0 + 208
11  CoreFoundation                  0x324cdcb2 __CFRunLoopRun + 642
12  CoreFoundation                  0x32440eb8 CFRunLoopRunSpecific + 352
13  CoreFoundation                  0x32440d44 CFRunLoopRunInMode + 100
14  GraphicsServices                0x35ff52e6 GSEventRunModal + 70
15  UIKit                           0x343562fc UIApplicationMain + 1116
16  thegame                         0x00006a94 0x1000 + 23188
17  thegame                         0x00003324 0x1000 + 8996

Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0   libsystem_kernel.dylib          0x3a853648 kevent64 + 24
1   libdispatch.dylib               0x3a783974 _dispatch_mgr_invoke + 792
2   libdispatch.dylib               0x3a783654 _dispatch_mgr_thread$VARIANT$mp + 32

Thread 2:
0   libsystem_kernel.dylib          0x3a863d98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3a7b1cf6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x3a7b1a12 _pthread_wqthread + 362
3   libsystem_c.dylib               0x3a7b18a0 start_wqthread + 4

Thread 3:
0   libsystem_kernel.dylib          0x3a863d98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3a7b1cf6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x3a7b1a12 _pthread_wqthread + 362
3   libsystem_c.dylib               0x3a7b18a0 start_wqthread + 4

Thread 4 name:  WebThread
Thread 4:
0   libsystem_kernel.dylib          0x3a852eb4 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3a853048 mach_msg + 36
2   CoreFoundation                  0x324cf040 __CFRunLoopServiceMachPort + 124
3   CoreFoundation                  0x324cdd9e __CFRunLoopRun + 878
4   CoreFoundation                  0x32440eb8 CFRunLoopRunSpecific + 352
5   CoreFoundation                  0x32440d44 CFRunLoopRunInMode + 100
6   WebCore                         0x38407500 RunWebThread(void*) + 440
7   libsystem_c.dylib               0x3a7bc30e _pthread_start + 306
8   libsystem_c.dylib               0x3a7bc1d4 thread_start + 4

Thread 5:
0   libsystem_kernel.dylib          0x3a852f04 semaphore_wait_trap + 8
1   thegame                         0x00c999d8 0x1000 + 13208024
2   thegame                         0x00bff558 0x1000 + 12576088
3   thegame                         0x00c7773c 0x1000 + 13068092
4   thegame                         0x00c92bec 0x1000 + 13179884
5   thegame                         0x00cada2c 0x1000 + 13290028
6   libsystem_c.dylib               0x3a7bc30e _pthread_start + 306
7   libsystem_c.dylib               0x3a7bc1d4 thread_start + 4

Thread 6:
0   libsystem_kernel.dylib          0x3a852f04 semaphore_wait_trap + 8
1   thegame                         0x009401f4 0x1000 + 9695732
2   thegame                         0x0098b714 0x1000 + 10004244
3   thegame                         0x0098bc08 0x1000 + 10005512
4   libsystem_c.dylib               0x3a7bc30e _pthread_start + 306
5   libsystem_c.dylib               0x3a7bc1d4 thread_start + 4

Thread 7:
0   libsystem_kernel.dylib          0x3a852f04 semaphore_wait_trap + 8
1   thegame                         0x00a228ac 0x1000 + 10623148
2   thegame                         0x00a3f800 0x1000 + 10741760
3   libsystem_c.dylib               0x3a7bc30e _pthread_start + 306
4   libsystem_c.dylib               0x3a7bc1d4 thread_start + 4

Thread 8 name:  AURemoteIO::IOThread
Thread 8:
0   libsystem_kernel.dylib          0x3a852eb4 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3a853048 mach_msg + 36
2   AudioToolbox                    0x31fc391c AURemoteIO::IOThread::Run() + 104
3   AudioToolbox                    0x31fc5c84 AURemoteIO::IOThread::Entry(void*) + 4
4   AudioToolbox                    0x31f03882 CAPThread::Entry(CAPThread*) + 294
5   libsystem_c.dylib               0x3a7bc30e _pthread_start + 306
6   libsystem_c.dylib               0x3a7bc1d4 thread_start + 4

Thread 9:
0   libsystem_kernel.dylib          0x3a8636a4 __semwait_signal + 24
1   libsystem_c.dylib               0x3a7c13ce nanosleep + 138
2   libsystem_c.dylib               0x3a7c133a usleep + 46
3   thegame                         0x00a22cb0 0x1000 + 10624176
4   thegame                         0x00a3f858 0x1000 + 10741848
5   libsystem_c.dylib               0x3a7bc30e _pthread_start + 306
6   libsystem_c.dylib               0x3a7bc1d4 thread_start + 4

Thread 10:
0   libsystem_kernel.dylib          0x3a852eb4 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3a853048 mach_msg + 36
2   CoreFoundation                  0x324cf040 __CFRunLoopServiceMachPort + 124
3   CoreFoundation                  0x324cdd9e __CFRunLoopRun + 878
4   CoreFoundation                  0x32440eb8 CFRunLoopRunSpecific + 352
5   CoreFoundation                  0x32440d44 CFRunLoopRunInMode + 100
6   CFNetwork                       0x321a22ca CFURLConnectionSendSynchronousRequest + 330
7   Foundation                      0x32e351c2 +[NSURLConnection sendSynchronousRequest:returningResponse:error:] + 242
8   thegame                         0x007b4a6c 0x1000 + 8075884
9   thegame                         0x007b4704 0x1000 + 8075012
10  thegame                         0x007b8b64 0x1000 + 8092516
11  Foundation                      0x32e10e80 __NSThread__main__ + 968
12  libsystem_c.dylib               0x3a7bc30e _pthread_start + 306
13  libsystem_c.dylib               0x3a7bc1d4 thread_start + 4

Thread 11 name:  com.apple.NSURLConnectionLoader
Thread 11:
0   libsystem_kernel.dylib          0x3a852eb4 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x3a853048 mach_msg + 36
2   CoreFoundation                  0x324cf040 __CFRunLoopServiceMachPort + 124
3   CoreFoundation                  0x324cdd9e __CFRunLoopRun + 878
4   CoreFoundation                  0x32440eb8 CFRunLoopRunSpecific + 352
5   CoreFoundation                  0x32440d44 CFRunLoopRunInMode + 100
6   Foundation                      0x32d8d3d0 +[NSURLConnection(Loader) _resourceLoadLoop:] + 304
7   Foundation                      0x32e10e80 __NSThread__main__ + 968
8   libsystem_c.dylib               0x3a7bc30e _pthread_start + 306
9   libsystem_c.dylib               0x3a7bc1d4 thread_start + 4

Thread 12:
0   libsystem_kernel.dylib          0x3a863d98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3a7b1cf6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x3a7b1a12 _pthread_wqthread + 362
3   libsystem_c.dylib               0x3a7b18a0 start_wqthread + 4

Thread 13:
0   CoreFoundation                  0x3243e660 CFBasicHashAddValue + 180
1   CoreFoundation                  0x32446310 uniquedName + 124
2   CoreFoundation                  0x3244ad88 _CFXNotificationPost + 740
3   Foundation                      0x32d61594 -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
4   Foundation                      0x32e11362 __NSFinalizeThreadData + 250
5   CoreFoundation                  0x324caf7e __CFTSDFinalize + 62
6   libsystem_c.dylib               0x3a7af128 _pthread_tsd_cleanup + 172
7   libsystem_c.dylib               0x3a7aedfe _pthread_exit + 114
8   libsystem_c.dylib               0x3a7c8160 pthread_exit + 24
9   Foundation                      0x32d99a2e +[NSThread exit] + 6
10  Foundation                      0x32e10e9e __NSThread__main__ + 998
11  libsystem_c.dylib               0x3a7bc30e _pthread_start + 306
12  libsystem_c.dylib               0x3a7bc1d4 thread_start + 4

Thread 14:
0   libsystem_kernel.dylib          0x3a863d98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3a7b1cf6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x3a7b1a12 _pthread_wqthread + 362
3   libsystem_c.dylib               0x3a7b18a0 start_wqthread + 4

Thread 15:
0   libsystem_kernel.dylib          0x3a863d98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3a7b1cf6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x3a7b1a12 _pthread_wqthread + 362
3   libsystem_c.dylib               0x3a7b18a0 start_wqthread + 4

Thread 16:
0   libsystem_kernel.dylib          0x3a863d98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x3a7b1cf6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x3a7b1a12 _pthread_wqthread + 362
3   libsystem_c.dylib               0x3a7b18a0 start_wqthread + 4

Thread 17:
0   libsystem_kernel.dylib          0x3a8636a4 __semwait_signal + 24
1   libsystem_c.dylib               0x3a7c13ce nanosleep + 138
2   thegame                         0x0098ba8c 0x1000 + 10005132
3   thegame                         0x0093ec54 0x1000 + 9690196
4   thegame                         0x0093ec80 0x1000 + 9690240
5   thegame                         0x0098bc08 0x1000 + 10005512
6   libsystem_c.dylib               0x3a7bc30e _pthread_start + 306
7   libsystem_c.dylib               0x3a7bc1d4 thread_start + 4

Thread 18 name:  com.apple.CFSocket.private
Thread 18:
0   libsystem_kernel.dylib          0x3a863594 __select + 20
1   CoreFoundation                  0x324d31f2 __CFSocketManager + 674
2   libsystem_c.dylib               0x3a7bc30e _pthread_start + 306
3   libsystem_c.dylib               0x3a7bc1d4 thread_start + 4

Thread 0 crashed with ARM Thread State (32-bit):
    r0: 0x00000000    r1: 0x00000000      r2: 0x00000000      r3: 0x3c34f534
    r4: 0x00000006    r5: 0x3c34fb88      r6: 0x01095260      r7: 0x2fdfebbc
    r8: 0x0000000b    r9: 0x000008c8     r10: 0x00000000     r11: 0x01090770
    ip: 0x00000148    sp: 0x2fdfebb0      lr: 0x3a7da123      pc: 0x3a863350
  cpsr: 0x00000010

谢谢你!

你尝试过使用"Instruments"吗? - Bhavin
我已经尝试了工具,但是在我的设备上无法重现崩溃。 - user2219959
这个崩溃没有被符号化。这意味着我们不知道在你的游戏中它在哪里崩溃了。请参考https://dev59.com/43M_5IYBdhLWcg3wQQld和http://kevincupp.com/2011/05/12/symbolicating-ios-crash-logs.html。 - jackslash
@jackslash 感谢回复。它实际上已经被符号化了吗?之前看起来是这样的: 9 CoreFoundation 0x324cf680 0x32438000 + 620160 现在看起来像这样: CoreFoundation 0x324cf680__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12 或者我错了吗? - user2219959
ARC是自动引用计数。如果您在项目中使用ARC,编译器将为您执行所有的保留、释放和自动释放调用。在一些情况下,您需要注意内存管理,但在大多数情况下,您不会遇到任何内存泄漏或悬挂指针(可能导致问题)。 - Reinhard Männer
显示剩余7条评论
1个回答

0

EXC_BAD_ACCESS是在脚本层出现问题时抛出的异常(例如空引用异常,但也可能是其他任何异常)。

我开发了一个游戏内开发控制台,可以将Unity和我们的脚本抛出的所有调试日志转发到该控制台(请参阅Unity提供的良好回调http://docs.unity3d.com/Documentation/ScriptReference/Application.LogCallback.html)。

通过将游戏构建为开发版本(检查构建设置),创建Unity库的符号链接并检查脚本调试(如果需要),您可以尝试重现导致应用程序崩溃的步骤。这样,在发生异常时,它就不会在iOS上崩溃。

看一下这个DebugConsole实现,它可以非常快速地集成(尽管您需要对Unity Logs进行一些微小的更改),并且可以为您完成工作:https://gist.github.com/darktable/1412228

在我们的开发版本中,除非我们的应用程序滥用内存,否则我们不再崩溃。即使在这种情况下,您也可以跟踪发生了什么。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接