2014-01-06 86 views
0

請參閱下面的崩潰日誌。
崩潰的線程66和Last Exception backtrace沒有TestApp框架。
我可以斷定崩潰是由不是由我寫的代碼造成的嗎?iOS崩潰日誌:當崩潰的線程沒有應用程序框架時如何理解它

注意:即使我有dsym和所有的TestApp也沒有符號,因此不知道爲什麼此時由於線程66和異常回溯沒有引用TestApp代碼,我沒有花時間手動符號化到目前爲止。

編輯:我正在使用ARC。
編輯2:我也在代碼中使用JS,所以這個崩潰也可能來自那裏。不知道如果是這樣的話會如何顯示。

Incident Identifier: 5F8D81B8DCE 
CrashReporter Key: a666d85467307431 
Hardware Model:  iPad4,4 
Process:    TestApp [286] 
Path:    /var/mobile/Applications/177CBA10-C0F0-4DEE-85B8-6FAB64BC70E6/TestApp.app/TestApp 
Identifier:   com.sample.TestApp 
Version:    1.8 (1.8) 
Code Type:   ARM (Native) 
Parent Process:  launchd [1] 

Date/Time:   2014-01-01 18:21:31.055 +0100 
OS Version:   iOS 7.0.4 (11B554a) 
Report Version:  104 

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Triggered by Thread: 66 

Last Exception Backtrace: 
0 CoreFoundation     0x302f8e83 __exceptionPreprocess + 131 
1 libobjc.A.dylib     0x3a9946c7 objc_exception_throw + 38 
2 CoreFoundation     0x302f8dc5 +[NSException raise:format:] + 112 
3 Foundation      0x30c33d05 -[NSData(NSData) getBytes:range:] + 240 
4 CoreFoundation     0x302512ad CFDataGetBytes + 204 
5 ImageIO       0x31032397 CGImageReadGetBytesAtOffset + 282 
6 ImageIO       0x31032271 CGImageReadSessionGetBytes + 28 
7 ImageIO       0x3104e417 fill_input_buffer + 150 
8 ImageIO       0x3104d7ef read_markers + 150 
9 ImageIO       0x3104d535 consume_markers + 36 
10 ImageIO       0x3104d36d _cg_jpeg_consume_input + 104 
11 ImageIO       0x3104d2db _cg_jpeg_read_header + 42 
12 ImageIO       0x31051249 startDecompressing + 60 
13 ImageIO       0x31050d27 copyImageBlockSetJPEG + 3214 
14 ImageIO       0x31039c8b ImageProviderCopyImageBlockSetCallback + 538 
15 CoreGraphics     0x3038046d CGImageProviderCopyImageBlockSetWithOptions + 136 
16 QuartzCore      0x3272b4e1 CA::Render::create_image(CGImage*, CGColorSpace*, unsigned int) + 680 
17 QuartzCore      0x3272a991 CA::Render::copy_image(CGImage*, CGColorSpace*, unsigned int, double) + 292 
18 QuartzCore      0x3271680b CA::CG::fill_image(CA::CG::Renderer&, CGImage*, CA::Rect const&, CA::Mat2<float> const&, bool, bool, CGInterpolationQuality, CA::Bounds const*) + 1234 
19 QuartzCore      0x3271632d CA::CG::DrawImage::draw_image(CA::CG::Renderer&, bool) const + 80 
20 QuartzCore      0x32713083 CA::CG::DrawOp::render(CA::CG::Renderer&) const + 2146 
21 QuartzCore      0x327117a1 CA::CG::Queue::render_callback(void*) + 268 
22 libdispatch.dylib    0x3ae7de7b _dispatch_queue_drain + 374 
23 libdispatch.dylib    0x3ae7af93 _dispatch_queue_invoke + 42 
24 libdispatch.dylib    0x3ae7e745 _dispatch_root_queue_drain + 76 
25 libdispatch.dylib    0x3ae7e9c5 _dispatch_worker_thread2 + 56 
26 libsystem_pthread.dylib   0x3afa8dff _pthread_wqthread + 298 
27 libsystem_pthread.dylib   0x3afa8cc4 start_wqthread + 8 


Thread 66 Crashed: 
0 libsystem_kernel.dylib   0x3af441fc __pthread_kill + 8 
1 libsystem_pthread.dylib   0x3afaba4f pthread_kill + 55 
2 libsystem_c.dylib    0x3aef5029 abort + 73 
3 libc++abi.dylib     0x3a34398b abort_message + 71 
4 libc++abi.dylib     0x3a35c6e3 default_terminate_handler() + 251 
5 libobjc.A.dylib     0x3a994937 _objc_terminate() + 191 
6 libc++abi.dylib     0x3a35a1b1 std::__terminate(void (*)()) + 77 
7 libc++abi.dylib     0x3a359a05 __cxa_throw + 113 
8 libobjc.A.dylib     0x3a994797 objc_exception_throw + 247 
9 CoreFoundation     0x302f8dc1 +[NSException raise:format:] + 109 
10 Foundation      0x30c33d01 -[NSData(NSData) getBytes:range:] + 237 
11 CoreFoundation     0x302512a9 CFDataGetBytes + 201 
12 ImageIO       0x31032393 CGImageReadGetBytesAtOffset + 279 
13 ImageIO       0x3103226d CGImageReadSessionGetBytes + 25 
14 ImageIO       0x3104e413 fill_input_buffer + 147 
15 ImageIO       0x3104d7ed read_markers + 149 
16 ImageIO       0x3104d533 consume_markers + 35 
17 ImageIO       0x3104d36b _cg_jpeg_consume_input + 103 
18 ImageIO       0x3104d2d7 _cg_jpeg_read_header + 39 
19 ImageIO       0x31051245 startDecompressing + 57 
20 ImageIO       0x31050d23 copyImageBlockSetJPEG + 3211 
21 ImageIO       0x31039c89 ImageProviderCopyImageBlockSetCallback + 537 
22 CoreGraphics     0x3038046b CGImageProviderCopyImageBlockSetWithOptions + 135 
23 QuartzCore      0x3272b4dd CA::Render::create_image(CGImage*, CGColorSpace*, unsigned int) + 677 
24 QuartzCore      0x3272a98d CA::Render::copy_image(CGImage*, CGColorSpace*, unsigned int, double) + 289 
25 QuartzCore      0x32716807 CA::CG::fill_image(CA::CG::Renderer&, CGImage*, CA::Rect const&, CA::Mat2<float> const&, bool, bool, CGInterpolationQuality, CA::Bounds const*) + 1231 
26 QuartzCore      0x32716329 CA::CG::DrawImage::draw_image(CA::CG::Renderer&, bool) const + 77 
27 QuartzCore      0x32713081 0x326f7000 + 114817 
28 QuartzCore      0x3271179d CA::CG::Queue::render_callback(void*) + 265 
29 libdispatch.dylib    0x3ae7de77 _dispatch_queue_drain + 371 
30 libdispatch.dylib    0x3ae7af8f _dispatch_queue_invoke + 39 
31 libdispatch.dylib    0x3ae7e743 _dispatch_root_queue_drain + 75 
32 libdispatch.dylib    0x3ae7e9c1 _dispatch_worker_thread2 + 53 
33 libsystem_pthread.dylib   0x3afa8dfd _pthread_wqthread + 297 
34 libsystem_pthread.dylib   0x3afa8cc0 start_wqthread + 4 

Thread 67: 
0 libsystem_kernel.dylib   0x3af44c7c __workq_kernreturn + 8 
1 libsystem_pthread.dylib   0x3afa8e07 _pthread_wqthread + 307 
2 libsystem_pthread.dylib   0x3afa8cc0 start_wqthread + 4 

Thread 66 crashed with ARM Thread State (32-bit): 
    r0: 0x00000000 r1: 0x00000000  r2: 0x00000000  r3: 0x3aee7aa9 
    r4: 0x00000006 r5: 0x0c2be000  r6: 0x00000000  r7: 0x0c2b76d4 
    r8: 0x17d0dcf0 r9: 0x00000001  r10: 0x00000000  r11: 0x3b13fee8 
    ip: 0x00000148 sp: 0x0c2b76c8  lr: 0x3afaba53  pc: 0x3af441fc 
    cpsr: 0x00000010 

Binary Images: 
0xb4000 - 0x4c7fff TestApp armv7 <5c0bc5876928328c8f91fdf9b67fa8e7> /var/mobile/Applications/177CBA10-C0F0-4DEE-85B8-6FAB64BC70E6/TestApp.app/TestApp 
+0

很難說。你在使用ARC嗎?如果沒有,你是否確保在工作進行中對象沒有被釋放?你可以在你的main.m文件中添加以下代碼,以查明崩潰的原因,如果它在你的代碼中@ try {return UIApplicationMain(argc,argv,nil,NSStringFromClass([AppDelegate class])); } @ catch(NSException * e){NSLog(@「CRASH:%@」,[e description]); NSLog(@「Stack Trace:%@」,[e callStackSymbols]); } –

+0

在main.m的主要方法中添加上面的異常處理代碼。還要確保你沒有將一個零參數傳遞給圖像方法 –

+0

是的,我正在使用ARC。 – Zsolt

回答

0

問題來自Google Analytics(分析)。
從3.0更新到3.0.2。 所以看起來崩潰來自外部圖書館。

2014-01-06 14:58:39.518 TestApp[1099:1403] WARNING: GoogleAnalytics 3.0 void GAIUncaughtExceptionHandler(NSException *) (GAIUncaughtExceptionHandler.m:49): Uncaught exception: *** -[WebCoreSharedBufferData getBytes:range:]: range {0, 4000} exceeds data length 0 
2014-01-06 14:58:44.542 TestApp[1099:1403] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[WebCoreSharedBufferData getBytes:range:]: range {0, 4000} exceeds data length 0' 
*** First throw call stack: 
(0x30996e83 0x3b0326c7 0x30996dc5 0x312d1d05 0x308ef2ad 0x316d0397 0x316d0271 0x316ec417 0x316eb7ef 0x316eb535 0x316eb36d 0x316eb2db 0x316ef249 0x316eed27 0x316d7c8b 0x30a1e46d 0x32dc94e1 0x32dc8991 0x32db480b 0x32db432d 0x32db1083 0x32daf7a1 0x3b51be7b 0x3b518f93 0x3b51c745 0x3b51c9c5 0x3b646dff 0x3b646cc4) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) bt 

    * thread #3: tid = 0x2b343, 0x3b5e21fc libsystem_kernel.dylib`__pthread_kill + 8, queue = 'CA::CG::Queue, stop reason = signal SIGABRT 
     frame #0: 0x3b5e21fc libsystem_kernel.dylib`__pthread_kill + 8 
     frame #1: 0x3b649a52 libsystem_pthread.dylib`pthread_kill + 58 
     frame #2: 0x3b59302c libsystem_c.dylib`abort + 76 
     frame #3: 0x3a9e198e libc++abi.dylib`abort_message + 74 
     frame #4: 0x3a9fa6e6 libc++abi.dylib`default_terminate_handler() + 254 
     frame #5: 0x3b032938 libobjc.A.dylib`_objc_terminate() + 192 
     frame #6: 0x3a9f81b2 libc++abi.dylib`std::__terminate(void (*)()) + 78 
     frame #7: 0x3a9f7a08 libc++abi.dylib`__cxa_throw + 116 
     frame #8: 0x3b03279a libobjc.A.dylib`objc_exception_throw + 250 
     frame #9: 0x30996dc4 CoreFoundation`+[NSException raise:format:] + 112 
     frame #10: 0x312d1d04 Foundation`-[NSData(NSData) getBytes:range:] + 240 
     frame #11: 0x308ef2ac CoreFoundation`CFDataGetBytes + 204 
     frame #12: 0x316d0396 ImageIO`CGImageReadGetBytesAtOffset + 282 
     frame #13: 0x316d0270 ImageIO`CGImageReadSessionGetBytes + 28 
     frame #14: 0x316ec416 ImageIO`fill_input_buffer + 150 
     frame #15: 0x316eb7ee ImageIO`read_markers + 150 
     frame #16: 0x316eb534 ImageIO`consume_markers + 36 
     frame #17: 0x316eb36c ImageIO`_cg_jpeg_consume_input + 104 
     frame #18: 0x316eb2da ImageIO`_cg_jpeg_read_header + 42 
     frame #19: 0x316ef248 ImageIO`startDecompressing + 60 
     frame #20: 0x316eed26 ImageIO`copyImageBlockSetJPEG + 3214 
     frame #21: 0x316d7c8a ImageIO`ImageProviderCopyImageBlockSetCallback + 538 
     frame #22: 0x30a1e46c CoreGraphics`CGImageProviderCopyImageBlockSetWithOptions + 136 
     frame #23: 0x32dc94e0 QuartzCore`CA::Render::create_image(CGImage*, CGColorSpace*, unsigned int) + 680 
     frame #24: 0x32dc8990 QuartzCore`CA::Render::copy_image(CGImage*, CGColorSpace*, unsigned int, double) + 292 
     frame #25: 0x32db480a QuartzCore`CA::CG::fill_image(CA::CG::Renderer&, CGImage*, CA::Rect const&, CA::Mat2<float> const&, bool, bool, CGInterpolationQuality, CA::Bounds const*) + 1234 
     frame #26: 0x32db432c QuartzCore`CA::CG::DrawImage::draw_image(CA::CG::Renderer&, bool) const + 80 
     frame #27: 0x32db1082 QuartzCore`CA::CG::DrawOp::render(CA::CG::Renderer&) const + 2146 
     frame #28: 0x32daf7a0 QuartzCore`CA::CG::Queue::render_callback(void*) + 268 
     frame #29: 0x3b51be7a libdispatch.dylib`_dispatch_queue_drain + 374 
     frame #30: 0x3b518f92 libdispatch.dylib`_dispatch_queue_invoke + 42 
     frame #31: 0x3b51c744 libdispatch.dylib`_dispatch_root_queue_drain + 76 
     frame #32: 0x3b51c9c4 libdispatch.dylib`_dispatch_worker_thread2 + 56 
     frame #33: 0x3b646dfe libsystem_pthread.dylib`_pthread_wqthread + 298 
     frame #34: 0x3b646cc4 libsystem_pthread.dylib`start_wqthread + 8 
    (lldb)