Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Ведение журнала трассировки стека

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

Совет. Другой способ проверки кода – подключить отладчик к редактору или встроенному проигрывателю.

Трассировка стека для управляемого и неуправляемого кода

Unity может предоставлять информацию о трассировке стека как для управляемого, так и для неуправляемого кода:

  • Управляемый код: управляемые библиотеки DLL или скрипты C#фрагмент кода, который позволяет вы можете создавать свои собственные Компоненты, запускать игровые события, изменять свойства Компонентов с течением времени и реагировать на ввод данных пользователем любым удобным для вас способом. Подробнее
    См. Словарь
    , работающий в Unity. Это могут быть сценарии, поставляемые с Unity, написанные вами пользовательские сценарии, сторонние сценарии, включенные в хранилище активоврастущая библиотека бесплатных и коммерческих ресурсов, созданных Unity и членами сообщества. Предлагает широкий спектр ресурсов, от текстур, моделей и анимации до целых примеров проектов, руководств и расширений редактора. Подробнее
    См. в Словарь
    подключаемый модульНабор кода, созданный вне Unity, который создает функциональность в Unity. В Unity можно использовать два типа подключаемых модулей: управляемые подключаемые модули (управляемые сборки .NET, созданные с помощью таких инструментов, как Visual Studio) и собственные подключаемые модули (библиотеки собственного кода для конкретной платформы). Подробнее
    См. в Словаре
    или любом другом скрипте C#, работающем в движке .

  • Неуправляемый код: собственный код ядра Unity или код из собственного подключаемого модуля, работающего непосредственно на вашем компьютере или на целевой платформе сборки. Неуправляемый код обычно компилируется из кода C или C++. Вы можете получить к нему доступ только в том случае, если у вас есть оригинальный исходный код собственного двоичного файла. Как правило, вы будете использовать трассировку стека для неуправляемого кода только в том случае, если вам нужно определить, вызвана ли ошибка вашим кодом или кодом ядра и какая часть кода ядра.

Unity предлагает три варианта трассировки стека:

  • Нет: Unity не выводит информацию о трассировке стека.
  • ScriptOnly: Unity выводит информацию о трассировке стека только для управляемого кода. Это параметр по умолчанию.
  • Полный: Unity выводит информацию о трассировке стека как для управляемого, так и для неуправляемого кода.

Требования к ресурсам трассировки стека

Разрешение трассировки стека, особенно полной трассировки стека, является ресурсоемкой операцией. Вот некоторые рекомендации по трассировке стека:

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

Установка типа трассировки стека

Примечание. Параметр трассировки стека является параметром сборки и влияет на встроенный проигрыватель. Это не параметр представления в редакторе.

Чтобы указать, сколько деталей следует включить в трассировку стека, вы можете использовать API сценариев или редактор:

  • Чтобы управлять ведением журнала трассировки стека с помощью API сценариев, используйте Application.SetStackTraceLogType. Вы можете использовать API, чтобы изменить настройку трассировки стека проигрывателя до его создания или во время его работы.

  • Чтобы использовать консоль, нажмите кнопку меню консоли, а затем:
    • Чтобы выбрать один и тот же параметр трассировки стека для всех типов сообщений консоли, выберите Ведение журнала трассировки стека > Все.
    • Чтобы выбрать параметр трассировки стека только для одного из типов сообщений консоли, выберите Ведение журнала трассировки стека > [ТИП СООБЩЕНИЯ]. Перестройте проигрыватель с новыми настройками.
  • Чтобы использовать окно настроек проигрывателя, выберите «Файл» > «Настройки сборки» > «Настройки проигрывателя» > «Другие настройки». Перестройте проигрыватель с новыми настройками.

Параметры ведения журнала трассировки стека из консоли. В этом примере показаны параметры для исключения.
Параметры ведения журнала трассировки стека из консоли. В этом примере показаны параметры для исключения.

Файлы с открытым исходным кодом из вывода трассировки стека

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

Найти выходной файл журнала встроенного приложения

Встроенные приложения не выводятся на консоль. Чтобы просмотреть трассировку стека, используйте файл журнала приложения.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3