У меня было приложение в AppStore с 2011 года, и с тех пор оно претерпело довольно много изменений, как и следовало ожидать, после последнего изменения я начал получать некоторые сбои (я использую Crashlytics), которые, кажется, указывают на то, что источник CoreGraphics, хотя, должно быть, я что-то не так делаю, а не сама библиотека, но, поскольку сами сбои не содержат никакого кода, относящегося к моему приложению, немного сложно понять, что это может быть.
Кажется, я не могу вызвать эту проблему, но некоторые пользователи могут, я проверил, и у некоторых из них было достаточно памяти, так что это не проблема нехватки памяти.
Единственные сбои, которые я получил, это все это, в частности, это не красная селедка из-за некоторых проблем с памятью, которые могут вызвать ложные срабатывания. Приложение постоянно используется и тестируется с использованием дезинфицирующего средства для адресов, поэтому оно должно улавливать все это.
Я достаточно хорошо разбираюсь в C ++ (основной язык приложения), но знаю достаточно Objective-C, чтобы добиться цели, поэтому мне было интересно, если я что-то упустил или есть способ отладить это, так как я не смог бы Я даже не знаю, с чего начать.
Поскольку я не могу вызвать проблему, и я не могу видеть, где это происходит, я не могу придумать какой-либо способ решить это.
Что было бы лучшим способом отладки этого, как люди подходят к этому?
Crashed: com.apple.main-thread
0 libsystem_platform.dylib 0x184079b80 _platform_memmove + 176
1 CoreGraphics 0x185bc81f8 decode_data + 12740
2 CoreGraphics 0x185bc81f8 decode_data + 12740
3 CoreGraphics 0x185d982f4 img_decode_read + 2032
4 CoreGraphics 0x185d9bffc img_alphamerge_read + 548
5 CoreGraphics 0x185d9f818 img_data_lock + 7048
6 CoreGraphics 0x185d9dc38 CGSImageDataLock + 184
7 CoreGraphics 0x185bbe704 ripc_AcquireRIPImageData + 308
8 CoreGraphics 0x185db287c ripc_DrawImage + 644
9 CoreGraphics 0x185da2678 CGContextDrawImageWithOptions + 632
10 QuartzCore 0x188335f7c CA::Render::(anonymous namespace)::create_image_by_rendering(CGImage*, CGColorSpace*, unsigned int, double) + 1232
11 QuartzCore 0x188336f60 CA::Render::(anonymous namespace)::create_image_from_rgb_image(CGImage*, CGColorSpace*, unsigned int, double) + 676
12 QuartzCore 0x1883358e4 CA::Render::create_image(CGImage*, CGColorSpace*, unsigned int, double) + 900
13 QuartzCore 0x188338584 CA::Render::copy_image(CGImage*, CGColorSpace*, unsigned int, double, double) + 472
14 QuartzCore 0x18843ebcc -[CALayer(CALayerPrivate) _copyRenderLayer:layerFlags:commitFlags:] + 632
15 QuartzCore 0x1884434b0 CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 444
16 QuartzCore 0x1883a7dcc CA::Context::commit_root(CA::Layer*, void*) + 44
17 QuartzCore 0x188366fd8 x_hash_table_foreach + 72
18 QuartzCore 0x1883a8674 CA::Context::commit_transaction(CA::Transaction*) + 2208
19 QuartzCore 0x1883ce340 CA::Transaction::commit() + 540
20 QuartzCore 0x1883cf180 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 92
21 CoreFoundation 0x1843ff8b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
22 CoreFoundation 0x1843fd270 __CFRunLoopDoObservers + 412
23 CoreFoundation 0x1843fd82c __CFRunLoopRun + 1292
24 CoreFoundation 0x18431e2d8 CFRunLoopRunSpecific + 436
25 GraphicsServices 0x1861aff84 GSEventRunModal + 100
26 UIKit 0x18d8cb880 UIApplicationMain + 208
27 (MyAppName) 0x1010cb280 main (main.m:14)
28 libdyld.dylib 0x183e4256c start + 4
Задача ещё не решена.
Других решений пока нет …