С чего начать, основываясь на этом отчете о сбое?

Я по-прежнему новичок в анализе отчетов о сбоях и могу использовать некоторую помощь в отслеживании моей проблемы. Вот часть отчета, о котором идет речь.

Incident Identifier: 5D510334-3888-40A6-A7C1-5AE1109BFDD4 CrashReporter Key: b4cfc1c63d61ef3f17a53e0732f05ad768cad375 Hardware Model: iPhone4,1 Process: WxT [1263] Path: /var/mobile/Applications/E7B24747-F168-4E23-99F9-89DC23A8531C/WxT.app/WxT Identifier: WxT Version: ??? (???) Code Type: ARM (Native) Parent Process: launchd [1] Date/Time: 2012-11-07 21:35:25.723 -0600 OS Version: iOS 6.0.1 (10A523) Report Version: 104 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x00000020 Crashed Thread: 0 Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 MapKit 0x318325d2 _contains(objc_object*, MKQuadTrieNode*) + 10 1 MapKit 0x318325c0 -[MKQuadTrie contains:] + 20 2 MapKit 0x3184411c -[MKAnnotationContainerView addAnnotation:] + 264 3 MapKit 0x3185645e -[MKMapView addAnnotation:] + 46 4 WxT 0x0009b654 -[RadarViewController dProc2addLocalStormReports] (RadarViewController.m:6234) 5 WxT 0x00093040 -[RadarViewController download:didFinishWithData:processObject:forStation:] (RadarViewController.m:2519) 6 WxT 0x000a67b8 -[DownloadManager connectionDidFinishLoading:] (DownloadManager.m:185) 7 Foundation 0x3436def2 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 14 8 Foundation 0x342ad9ec -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 196 9 Foundation 0x342ad908 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 56 10 CFNetwork 0x370945dc ___delegate_didFinishLoading_block_invoke_0 + 24 11 CFNetwork 0x37093cc8 ___withDelegateAsync_block_invoke_0 + 52 12 CFNetwork 0x370bc130 ___performAsync_block_invoke_068 + 16 13 CoreFoundation 0x3948b74a CFArrayApplyFunction + 174 14 CFNetwork 0x370bc58e RunloopBlockContext::perform() + 70 15 CFNetwork 0x3702015a MultiplexerSource::perform() + 186 16 CoreFoundation 0x3951a680 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12 17 CoreFoundation 0x39519ee4 __CFRunLoopDoSources0 + 208 18 CoreFoundation 0x39518cb2 __CFRunLoopRun + 642 19 CoreFoundation 0x3948beb8 CFRunLoopRunSpecific + 352 20 CoreFoundation 0x3948bd44 CFRunLoopRunInMode + 100 21 GraphicsServices 0x378592e6 GSEventRunModal + 70 22 UIKit 0x326cb2f4 UIApplicationMain + 1116 23 WxT 0x0008c626 main (main.m:14) 24 WxT 0x0008c5e0 start + 36 

Я думаю, что это говорит мне:

(1) Вызывается функция MapKit и ожидает ссылки на область в памяти, которая была освобождена. Thread0, item0: _contains (objc_object *, MKQuadTrieNode *)

(2) Мой код каким-то образом освободил эту память, когда ее не должно было быть.

(3) Часть моего кода, которая привела к проблеме, упоминается в пунктах 4, 5 и 6 в разделе Thread0

Правильно ли я это понимаю и куда мне идти?

Изменить: прочитав первые комментарии, я попытался передать ноль addAnnotation: чтобы имитировать проблему. Когда умышленно пропуская ноль, я получаю разные типы и коды исключения. Вот итоговый отчет о сбое:

 Incident Identifier: 2BC5BEB8-6295-44A1-9235-26AE060C571A CrashReporter Key: b4cfc1c63d61ef3f17a53e0732f05ad768cad375 Hardware Model: iPhone4,1 Process: WxT Pro [2689] Path: /var/mobile/Applications/3AE2A909-C6E5-421A-BEE9-6DCAFEAE40B6/WxT Pro.app/WxT Pro Identifier: WxT Pro Version: ??? (???) Code Type: ARM (Native) Parent Process: debugserver [2687] Date/Time: 2012-11-09 12:55:11.457 -0600 OS Version: iOS 6.0.1 (10A523) Report Version: 104 Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Crashed Thread: 0 Last Exception Backtrace: 0 CoreFoundation 0x3954529e __exceptionPreprocess + 158 1 libobjc.A.dylib 0x3343497a objc_exception_throw + 26 2 CoreFoundation 0x3949d2fa -[__NSSetM addObject:] + 582 3 MapKit 0x31844166 -[MKAnnotationContainerView addAnnotation:] + 338 4 MapKit 0x3185645e -[MKMapView addAnnotation:] + 46 5 WxT Pro 0x000b055c -[RadarViewController dProc2addLocalStormReports] (RadarViewController.m:6574) 6 WxT Pro 0x000af31a -[RadarViewController dProc2processLocalStormReportListDownload:] (RadarViewController.m:6234) 7 WxT Pro 0x000a2bfc -[RadarViewController download:didFinishWithData:processObject:forStation:] (RadarViewController.m:2721) 8 WxT Pro 0x000c3e36 -[DownloadManager connectionDidFinishLoading:] (DownloadManager.m:185) 9 Foundation 0x3436def0 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 12 10 Foundation 0x342ad9ec -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 196 11 Foundation 0x342ad908 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 56 12 CFNetwork 0x370945da ___delegate_didFinishLoading_block_invoke_0 + 22 13 CFNetwork 0x37093cc6 ___withDelegateAsync_block_invoke_0 + 50 14 CFNetwork 0x370bc12e ___performAsync_block_invoke_068 + 14 15 CoreFoundation 0x3948b748 CFArrayApplyFunction + 172 16 CFNetwork 0x370bc58e RunloopBlockContext::perform() + 70 17 CFNetwork 0x37020158 MultiplexerSource::perform() + 184 18 CoreFoundation 0x3951a67e __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 10 19 CoreFoundation 0x39519f7a __CFRunLoopDoSources0 + 358 20 CoreFoundation 0x39518cb2 __CFRunLoopRun + 642 21 CoreFoundation 0x3948beb8 CFRunLoopRunSpecific + 352 22 CoreFoundation 0x3948bd44 CFRunLoopRunInMode + 100 23 GraphicsServices 0x378592e6 GSEventRunModal + 70 24 UIKit 0x326cb2f4 UIApplicationMain + 1116 25 WxT Pro 0x00096f36 main (main.m:14) 26 WxT Pro 0x00096edc start + 36 Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x3123b350 __pthread_kill + 8 1 libsystem_c.dylib 0x345ca11e pthread_kill + 54 2 libsystem_c.dylib 0x3460696e abort + 90 3 libc++abi.dylib 0x37726d4a abort_message + 70 4 libc++abi.dylib 0x37723ff4 _ZL17default_terminatev + 20 5 libobjc.A.dylib 0x33434a74 _ZL15_objc_terminatev + 144 6 libc++abi.dylib 0x37724078 _ZL19safe_handler_callerPFvvE + 76 7 libc++abi.dylib 0x37724110 std::terminate() + 16 8 libc++abi.dylib 0x37725594 __cxa_rethrow + 84 9 libobjc.A.dylib 0x334349cc objc_exception_rethrow + 8 10 CoreFoundation 0x3948bf1c CFRunLoopRunSpecific + 452 11 CoreFoundation 0x3948bd44 CFRunLoopRunInMode + 100 12 GraphicsServices 0x378592e6 GSEventRunModal + 70 13 UIKit 0x326cb2f4 UIApplicationMain + 1116 14 WxT Pro 0x00096f36 main (main.m:14) 15 WxT Pro 0x00096edc start + 36 

Итак, я полагаю, что я не прохожу ноль в производстве. Но означает ли это, что мой указатель указывает на память, которая была переписана и больше не представляет исходные данные?

    One Solution collect form web for “С чего начать, основываясь на этом отчете о сбое?”

    Возможно, вы уже решили эту проблему, но я получил тот же отчет о сбоях и понял, что я пытаюсь добавить аннотацию на недопустимую координату. Мой источник данных (API, который возвращает JSON) давал мне недопустимое значение широты.

    Я изменил этот код:

      //add the Station object to the array [stations addObject:tempStation]; // <--(this eventually calls [MKMapView addAnnotation:]) 

    … в это, добавив защиту:

      if (CLLocationCoordinate2DIsValid(tempStation.coordinate)) { //add the Station object to the array if its coordinate is valid [stations addObject:tempStation]; } else { //otherwise just log an error and go to the next station NSLog("Invalid station coordinate: stationID %d, %@, coord %f, %f", tempStation.stationID, tempStation.name, tempStation.latitude, tempStation.longitude); } 

    Я получил этот журнал при следующем запуске моего кода:

     Invalid station coordinate: stationID 311, 14th St & Colorado Ave NW, coord -1345.707008, -77.032947 

    Неверные данные были проигнорированы, и сбой остановился.

    Interesting Posts

    Интернет не работает на симуляторе в xcode 6

    NavigationBar становится черным поп

    встроить живую камеру в UIView

    Как определить, какое текстовое поле в настоящее время является первым ответчиком

    Swift.Extensions var и func. Какая из них лучше?

    Протоколированное программирование в Swift для пользовательских компонентов

    Использование устройства iOS в качестве тесламетра (обсуждение магнитометра)

    Почему Acknowledgements.plist от CocoaPods выглядит перепутанным на iOS 9 и что вы можете с ним поделать?

    UIImageview не оживляет в iOS7, но работает хорошо в iOS6

    как получить объект отношения от объекта

    Не удалось позвонить

    Зачем использовать dispatch_async при использовании executeSegueWithIdentifier в requestAccessToEntity: завершение?

    Как бы вы программировали кнопку Continuous Delete?

    Как использовать AWS iOS SDK для загрузки изображения с устройства и установки на всеобщее обозрение

    Изменение цвета определенных пикселей в UIImage

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.