Вышел MonoTouch 1.2

Пятница, 6 ноября 2009 г.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e

Итак, состоялся долгожданный выпуск MonoTouch версии 1.2, о чём Мигель де Икаса и объявил вчера. Почему долгожданный? Потому что наконец-то появилась поддержка отладки! Новый отладчик поддерживает отладку как на эмуляторе iPhone, так и прямо на самом iPhone/iPod. Отладчик интегрирован напрямую в MonoDevelop/OSX. Работа с ним осуществляется так же, как и с любым другим отладчиком.

Технология отладки

В основе лежит новый движок отладки Mono. Так как Apple не опубликовала информацию, необходимую для реализации на iPhone отладчика наподобие GDB или MDB (отладчик Mono), разработчики Mono не стали взламывать протокол, а придумали новый способ отладки приложений Mono. Mono для iPhone использует программный отладчик. Этот отладчик, в отличие от обычных, работает как некоторая управляющая сущность над процессом Mono - другими словами, программный отладчик является обычным отладчиком, встроенным прямо в процесс Mono. MonoDevelop обменивается информацией с этим отладчиком через свой компактный протокол, похожий на тот, что использовался в отладчиках Java. Новая библиотека Mono.Debugger.Soft.dll предоставляет API для работы с этим протоколом и позволяет производить удалённую отладку процесса Mono.

Точки останова

Для реализации точек останова в программном отладчике используются средства операционной системы. Но iPhone не позволяет изменять память без специальных привилегий. Поэтому для реализации точек останова статический компилятор Mono вставляет специальный код в каждом месте последовательности, где проверяются точки останова и одиночные шаги. Генерируемый в итоге таких отладочных сборок код получается больше, но он позволяет осуществить отладку на iPhone без доступа к закрытому API.

MonoDevelop и iPhone

Перед началом отладки MonoDevelop настраивает приложение для соединения с MonoDevelop при запуске и включает отладчик, который прослушивает несколько портов (один для отладочного протокола, другой для перенаправления стандартных потоков вывода и ошибок) и ждёт сигналов от приложения. При соединении отладчик получает сигнал и выполнение продолжается. При использовании симулятора связь осуществляется через локальный сокет, а при использовании самого устройства через TCP/IP по Wi-Fi. Достоинством этого способа является то, что можно распространять бинарные файлы для тестировщиков (используя Ad-Hoc модель) и производить отладку на устройстве пользователя по сети.

Но, вчерашний праздник был бы не полным, если бы всё ограничилось только отладчиком. Помимо этого, есть и другие приятные изменения:

генератор привязок C# для библиотек Objective-C;потоки stdout/stderr теперь перенаправляются с устройства на MonoDevelop;добавлены системный таймер и семафоры;поддержка sqlite через библиотеку Mono.Data.Sqlite.dll;исправленные ошибки и другие мелкие улучшения.

Как видно, MonoTouch становится действительно зрелой платформой для разработки приложений под iPhone. Теперь, с появлением отладчика, MonoTouch может предложить разработчикам весь спектр необходимых инструментов.

Полный список изменений.

Процесс отладки в картинках.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e


Просмотров: 1105
Рубрика: Hi-Tech


Архив новостей / Экспорт новостей

Ещё новости по теме:

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

Ответственность за высказанные, размещённую информацию и оценки, в рамках проекта RosInvest.Com, лежит полностью на лицах опубликовавших эти материалы. Использование материалов, допускается со ссылкой на сайт RosInvest.Com.

Архивы новостей за: 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003

Февраль 2012: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29