Отладка веб-сборок в разработке
Проверяйте журналы, используйте сборки для разработки и настраивайте поддержку исключений для диагностики проблем во время разработки.
Отладка сборки в консоли JavaScript браузера
Веб-платформа Unity не имеет доступа к вашей файловой системе, поэтому она не записывает файл журнала, как другие платформы. Однако она записывает всю информацию журнала, такую как Debug.Log, Console.WriteLine или внутреннее журналирование Unity в консоль JavaScript браузера.
Чтобы открыть консоль JavaScript:
| OS | Браузер | Инструкции |
|---|---|---|
| Windows | Firefox | Нажмите Ctrl+Схема+K. |
| Windows | Хром | Нажмите Ctrl+Схема+J. |
| Windows | Microsoft Edge | Нажмите F12. |
| Windows | Интернет-браузер | Нажмите F12. |
| 2012 год, май | Firefox | Нажмите Команда+Вариант+K. |
| 2012 год, май | Хром | Нажмите Команда+Вариант+J. |
| 2012 год, май | Сафари |
|
Создание сборки разработки для отладки
Для отладки кода вы можете сделать сборку для разработки в Unity. Чтобы сделать сборку для разработки:
Откройте окно Создание профилей.
Включить Разработку Build.
Unity не минимизирует код, так что выходящий код JavaScript все еще содержит читаемые человеком, C++-mangled, имена функций.
Браузер использует их для отображения следов стека, если вы столкнетесь с ошибкой браузера при использовании Debug.LogError, либо когда возникает исключение, а поддержка исключений отключена. В отличие от управляемых трассировок стека при полной поддержке исключений, в этих трассировках имена искажены, и они содержат как управляемый код, так и внутренний код движка Unity.
Поддержка исключений
Веб имеет различные уровни поддержки исключений, но по умолчанию Unity Web поддерживает только явные исключения. Дополнительные сведения см. в настройках Web Player. Вы можете включить Полную поддержку исключений, которая выдает дополнительные проверки в коде, генерируемом IL2CPP, чтобы захватить доступ к нулевым ссылкам и элементам массива вне пределов в вашем управляемом коде. Эти дополнительные проверки значительно влияют на производительность и увеличивают размер кода и время загрузки, поэтому их следует использовать только для отладки.
Полная поддержка исключений также выдает имена функций для создания трассировки стека для вашего управляемого кода. По этой причине трассировки стека появляются в консоли для неуловленных исключений и для инструкций Debug.Log. Используйте System.Environment.StackTrace для получения строки трассировки стека.