Я портирую библиотеку (https://github.com/uzh-rpg/rpg_svo), которая была разработана на Linux для iOS. Целевым устройством является iPhone 6 plus. На первом этапе нам удалось перенести его в Windows. Кроме того, нам удалось запустить его на симулятор xcode для iPhone. Но при попытке запустить его на iPhone приложение вылетает после нескольких циклов со следующей ошибкой:Приложение работает на симуляторе, но не iPhone 6 плюс
malloc: * ошибка для объекта 0x12ce8c3d8: некорректная контрольная сумма для освобожденного объекта - объект, вероятно, был изменен после освобождения. * установить точку останова в malloc_error_break для отладки
Хуже того, авария не повторяется. Иногда иногда случается сбой раньше. Так как в симуляторе он отлично работает, мы не можем использовать инструменты управления памятью, такие как «Guard Malloc». Мы безуспешно пытались использовать инструменты «Утечки» и «Зомби».
Мы знаем о том, что iPhone использует набор команд ARM_NEON, тогда как в книге Mac у нас есть SSE2. Может быть, это проблема? Кроме того, библиотека зависит от потоков Boost. Возможно, это проблема многопоточности? Что заставляет его сбой на устройстве, но не в симуляторе? Есть ли у нас потенциальный недостаток в очень простой точке?
Заранее благодарен! Жду ответы :)
Я использую IOS 9.1 и Xcode 7.1 .. – jimichecktnix