u20kovalev.md 6.1 KB

MonoDevelop

MonoDevelop - это интегрированная среда разработки (IDE), поставляемая вместе с Unity. IDE сочетает в себе функции текстового редактора с дополнительными возможностями для отладки и выполнения других задач по управлению проектами.


Настройка MonoDevelop

MonoDevelop устанавливается по умолчанию вместе с Unity. Во время установки Unity на Windows, вы можете отменить установку MonoDevelop. Вы должны убедиться, что MonoDevelop установлен в качестве внешнего редактора скриптов в Preferences (меню: Unity > Preferences, а затем выберите панель External Tools). Если эта опция включена, Unity запустит MonoDevelop и будет использовать его в качестве редактора по умолчанию для всех скриптовых файлов.


Настройка отладчика

Чтобы включить отладку исходного кода (см. ниже для подробностей) в MonoDevelop, вам сперва следует проверить, что в Preferences, на панели External Tools включена опция Editor Attaching. Затем, вам следует синхронизировать ваш Unity проект с проектом MonoDevelop (меню: Assets > Sync MonoDevelop Project). Кроме того, убедитесь, что в BuildSettings целевой платформы (меню: File > Build Settings) включены опции Development Build и Script Debugging. Если вы собираете под WebPlayer, тогда вам следует дополнительно убедиться, что в контексте вашего проигрывателя выбран канал версий для разработчиков (правый клик в Windows или cmd-клик в Mac OSX).

enter image description here

Непосредственно перед началом сеанса отладки выберите цель, которую вы хотите отладить, из списка целей рядом с кнопкой воспроизведения (Редактор Unity, OSX Player и т. д.). Вы также можете выбрать «Присоединить к процессу», чтобы отобразить полный список отлаживаемых процессов Unity.
enter image description here

В этой вкладке показаны значения локальных переменных в текущей функции (псевдо-локальная переменная с именем this автоматически доступна в каждой функции, хоть она и не объявлена явно; это ссылка на текущий экземпляр скрипта, так что через “this” можно получить доступ ко всем переменным, объявленным в скрипте). Вы можете использовать точки прерывания вместе с вкладкой Locals для получения эффекта, аналогичного добавлению выражений print в ваш код - вы можете просматривать значения переменных в любой удобный вам момент времени. Однако во вкладке Locals вы также можете редактировать значения переменных. Это может оказаться полезным в случае, если вы нашли неверно установленную переменную и хотите проверить, пропадёт ли проблема при установке правильного значения.
Другая полезная функция MonoDevelop - пошаговое выполнение. Когда выполнение приостановится на точке останова, станет доступна шкала отладочных инструментов в верхней части окна MonoDevelop:
enter image description here
Первые четыре кнопки известны как Continue (продолжить), Step Over (шаг через), Step In (шаг внутрь) и Step Out (шаг наружу) и могут срабатывать по командам из меню Run (самая правая кнопка, Detach может быть использована для окончания отладочной сессии). Continue продолжает выполнение до очередной точки останова. И Step Over и Step In выполняют одну строку кода в один момент времени. Различия между ними в том, что Step Over полностью выполняет любые функции за одну линию, а Step In позволяет “шагнуть” внутрь функции. Так зачастую можно случайно использовать Step In для корректно работающих функций, существует Step Out, который продолжит выполнение до конца текущей функции и остановится снова в коде, который её вызвал.