问题
I have some problem with my iPhone/ipad app. its published in app store, but now it seems like a few users experiences crashes when they try to start the app. Sometimes it helps with a hard reboot. Would be very happy if someone could help me sorting out whats going on. The app is build in unity 3d if that matters.. Here´s my crash log:
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
Thank you!
回答1:
EXC_BAD_ACCESS
is thrown when something at scripting level gone wrong (e.g. null reference exception, but could be any other exception).
I've developed an in-game dev console where I forward all the debug logs thrown by Unity and our scripts (see the nice callback Unity offers http://docs.unity3d.com/Documentation/ScriptReference/Application.LogCallback.html).
Building the game as a Development Build (check build settings), Symlinking the Unity libraries and also checking script debugging if you need to, you can try to reproduce the steps that got your app to crash for some users. This way, it won't crash on iOS when an exception occurs.
Take a look at this DebugConsole implementation, which can be integrated really fast (despite you need some minor changes to forward Unity Logs too) and can do the job for you: https://gist.github.com/darktable/1412228
In our dev builds we no longer get a crash unless our app abuses memory. Even in that case you can track what happend.
来源:https://stackoverflow.com/questions/15683624/exc-bad-access-sigabrt-ios-crash-log