Hero background image

Как отлаживать свой код с помощью Microsoft Visual Studio 2022

Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.

Unity поддерживает различные редакторы кода, включая JetBrains Rider, Atom и Microsoft Visual Studio Code и Visual Studio. Visual Studio - это встроенный пакет, который устанавливается по умолчанию с редактором Unity.

Эта статья предоставляет советы по использованию отладчика Microsoft Visual Studio 2022, который позволяет эффективно исправлять ошибки в вашем коде. Если вы хотите узнать больше о общих советах по повышению продуктивности в Visual Studio, ознакомьтесь с нашим блогом "10 способов ускорить ваши рабочие процессы в Visual Studio."

VisualStudio

Установка инструментов отладки Visual Studio 2022

Visual Studio 2022 имеет встроенную поддержку Unity, что позволяет вам легко писать и редактировать скрипты, получать доступ к специфическим для Unity функциям и отлаживать код вашей игры, не покидая IDE. Она предоставляет такие функции, как автозавершение кода IntelliSense, подсветка синтаксиса и фрагменты кода, которые помогают вам писать код быстрее и эффективнее. Кроме того, вы получаете инструменты отладки, включая возможность устанавливать точки останова, пошагово проходить код, проверять переменные и оценивать выражения во время выполнения.

Visual Studio доступна в нескольких версиях, включая бесплатную версию для сообщества.

Эта статья основана на 2022 году издания Visual Studio. Версия 2019 года имеет те же функции, но скриншоты немного отличаются. По умолчанию новая установка Unity установит версию Visual Studio для сообщества вместе с расширением под названием Разработка игр с Unity, которое интегрирует Visual Studio с Unity. Если вы не выберете установку Visual Studio, вы можете получить копию здесь. Подробности о настройке Visual Studio для работы с Unity доступны здесь.

После установки Visual Studio в редакторе Unity откройте Unity > Настройки > Внешние инструменты и выберите Visual Studio в качестве внешнего редактора скриптов.

Подключение отладчика к Unity

Подключение отладчика Visual Studio к Unity

Чтобы включить отладку в реальном времени кода вашего проекта во время его работы в редакторе, отладчик Visual Studio должен подключиться к редактору. Это позволяет отладчику получить доступ и взаимодействовать с состоянием выполнения вашей игры. Давайте пройдемся по шагам, чтобы подключить его:

Откройте проект Unity, который вы хотите отладить.

В Unity перейдите в Правка > Настройки (Windows) или Unity > Настройки (macOS) и убедитесь, что Visual Studio установлен в качестве предпочтительного внешнего редактора скриптов. Если нет, выберите его из выпадающего меню.

Откройте нужный скрипт в Visual Studio, дважды щелкнув на файле скрипта в представлении проекта или через меню Assets > Открыть C# проект.

В Visual Studio перейдите в Отладка > Подключить отладчик Unity или нажмите кнопку Подключиться к Unity на панели инструментов. Откроется окно со списком доступных экземпляров Unity.

Выберите экземпляр Unity, на котором работает ваш проект (обычно отображается как "Unity Editor (имя вашего проекта)," и нажмите Подключить.

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

Если это ваша первая сессия отладки, вы увидите окно с предложением включить отладку для текущей сессии или для всех сессий. Рекомендуется выбрать первое, "Включить отладку для этой сессии."

VisualStudio

Использование точек останова

Точка останова — это маркер на конкретной строке кода. Когда отладчик встречает точку останова, он останавливает выполнение программы, позволяя вам проверить текущее состояние переменных, объектов и стека вызовов. Затем вы можете пошагово просматривать код, наблюдая, как состояние изменяется по мере выполнения программы.

Чтобы установить точку останова в Visual Studio, откройте скрипт и щелкните в левом поле редактора кода рядом со строкой кода, где вы хотите приостановить выполнение. Или установите курсор на строке и нажмите F9. Появится красная точка, указывающая на то, что точка останова установлена, как показано на верхнем изображении выше.

Теперь перейдите в редактор Unity и запустите игру. Когда выполнение программы достигнет строки с точкой останова, Visual Studio станет активным приложением на переднем плане, а выполнение программы будет приостановлено на строке с точкой останова. На этом этапе вы можете использовать инструменты Visual Studio для проверки переменных.

Самый простой вариант — навести курсор на объект, свойство или простую переменную. Visual Studio добавит панель наложения (нижнее изображение в коллаже выше), позволяя вам просматривать перегрузки функции, свойства объекта и значения свойства или переменной.

Если на наложении есть стрелка, указывающая вправо, то щелчок по ней развернет панель, предлагая больше информации о внутренних значениях свойств объекта.

Эта возможность исследовать значения в работающей программе невероятно полезна.

Как только Visual Studio подключится к Unity, новая панель инструментов будет добавлена справа от Отладка > Подключиться к Unity. Четыре кнопки на этой панели инструментов выполняют следующие действия, слева направо:

  • Продолжить/Приостановить выполнение: Если программа в данный момент воспроизводится, то будет отображаться значок паузы, на который вы можете щелкнуть, чтобы приостановить выполнение. При приостановленном выполнении программы появляется значок правой стрелки, указывающий на то, что нажатие возобновит выполнение программы.
  • Шаг через: Нажатие этой кнопки выполнит выделенную строку кода и снова приостановит выполнение на следующей строке.
  • Шаг Внутрь: Если активная строка кода включает функцию, где исходный код является частью проекта, то эта кнопка позволяет разработчику войти в функцию и просмотреть её код.
  • Шаг Внешний: Это перемещает выполнение программы из текущей функции.
VisualStudio

Условные точки останова

Условная точка останова — это продвинутая форма точки останова, которая приостанавливает выполнение только если выполнено заданное условие. Это может быть полезно, когда вы хотите исследовать конкретный сценарий или когда проблема возникает только при определенных условиях.

Если вы щелкните правой кнопкой мыши на точке останова в боковой панели или в окне точки останова в нижней панели, будет отображено контекстное меню. Выберите Изменить точку останова. Будет отображено диалоговое окно, показанное на изображении выше.

Больше инструментов отладки

В Visual Studio окно отладчика предоставляет несколько окон, которые помогают вам проверять состояние вашего приложения, пока оно приостановлено на точке останова. Три основных окна для проверки состояния вашей программы — это Локальные, Наблюдение и Стек вызовов. Следующие разделы рассматривают каждое из них.

VisualStudio

Локальные переменные

Окно Локальные отображает локальные переменные и их значения в текущей области выполнения кода. Это включает переменные, которые объявлены в текущем методе или блоке, а также аргументы метода. Окно Локальные позволяет вам быстро проверять значения переменных на текущей точке останова, что может быть полезно для выявления неправильных или неожиданных значений, которые могут вызывать проблемы в вашем коде. Помните, если строка начинается с стрелки, указывающей вправо, она расширяемая, в то время как стрелка, указывающая вниз, уменьшит расширенное окно.

Окно Наблюдение

Наблюдение

Окно Наблюдение позволяет вам отслеживать конкретные переменные или выражения, которые вы хотите контролировать в процессе отладки. В отличие от окна Локальные, которое показывает переменные в текущей области, окно Наблюдение позволяет вам вручную добавлять переменные или выражения, независимо от их области. Это может быть полезно для отслеживания состояния определенных переменных на протяжении выполнения вашей программы или для оценки выражений на основе текущего состояния вашего приложения.

Введите имя переменной или объекта в области видимости, и будет добавлена панель, которая позволит вам его проверить. Чтобы добавить наблюдение в Visual Studio, щелкните правой кнопкой мыши на переменной или выражении в вашем коде и выберите Добавить наблюдение из контекстного меню или введите выражение непосредственно в окне наблюдения.

Окно стека вызовов

Стек вызовов

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

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

Настройки сборки

Отладка сборки

Отладчик Visual Studio полезен не только для игры, работающей в редакторе Unity, но и для сборок. Вам нужно убедиться, что сборка включает данные, используемые отладчиком. Вы делаете это через Файл > Настройки сборки, и в окне, которое отображается, выберите Разработка сборки и Отладка скриптов(см. изображение выше)

Выберите Отладка > Присоединить отладчик Unity из главного меню для Windows или Отладка > Присоединиться к процессу из верхнего меню для MacOS.

Выберите экземпляр под названием Unity Player. Теперь все точки останова, локальные переменные и наблюдения доступны в сборке для разработки.

Пишите чистый код

Дополнительные ресурсы для продвинутых создателей Unity

Вы планируете использовать другой редактор кода? Прочитайте нашу статью с советами по Microsoft Visual Studio Code.

Unity предоставляет ряд продвинутых руководств, чтобы помочь профессиональным разработчикам оптимизировать код своих игр. Создайте руководство по стилю C#: Пишите более чистый код, который масштабируется собирает советы от экспертов отрасли о том, как создать руководство по стилю кода, чтобы помочь вашей команде разработать чистую, читаемую и масштабируемую кодовую базу.

Еще одно популярное руководство среди наших пользователей - это 70+ советов по повышению продуктивности с Unity. Оно наполнено советами по экономии времени, чтобы улучшить ваш повседневный агрегированный рабочий процесс с Unity 2020 LTS, включая советы, которые даже опытные разработчики могли упустить.

Найдите все продвинутые электронные книги и статьи Unity в центре лучших практик Unity.

Как отлаживать код с помощью Microsoft Visual Studio 2022 | Unity