Меню

Unity сообщение об ошибке

To make bug reporting as quick as possible, we made a bug reporting application for you. When running Unity choose Help->Report a Bug in the menu, or you can access it directly through the executable in the directory where Unity is installed. It will also launch automatically if you experience a crash.

If your bug report is to do with Documentation, either an error, typo, or omission, you can report it by scrolling to the bottom of the page where you found the issue, and clicking ‘Report a problem on this page’!

If your report is to do with a new feature idea, you can check the Unity Product Roadmaps page to see if your idea has already been planned. Some products also allow direct feedback to our product teams by opening up the “Submit a new idea!” card and filling the form.

A problem with the Editor – Is the Unity Editor not working like you expect it to?

A problem with the Player – Are you experiencing trouble with one of your builds running in the Player? Please include a note if this problem is only seen on a specific OS.

Performance — Is Unity not performing as expected, or have you noticed a significant slowdown in a particular area? 

Crash bug – Did the Unity Editor or Player crash? Should the Unity Bug Reporter application not automatically launch, please launch it at once and use this option.

Services – Are you experiencing performance or integration issues with Unity Ads, Everyplay, Multiplayer, Analytics, Cloud Build or Performance Reporting?

In order for us to fix the issue, we need to be able to reproduce it. With a precise description of what you did, we can clearly follow your actions and recreate the same situation. The most important thing is telling us exactly how to reproduce the issue. If you’ve already discussed this issue with someone from Unity, please let us know in your report who it was.

Knowing how much you have to write can be a little difficult, so here is an example to help you get started:

  1. Launch Unity while holding the ALT key down
    (On Windows, press ALT immediately after clicking the icon)
  2. Create a new project with no packages imported
  3. Wait for Unity to launch
  4. Choose GameObject->Create Empty in the menu
  5. See that a new GameObject appears in the Scene View
  6. Choose File->Quit in the menu
  7. When asked to save, click Don’t Save
  8. See that Unity successfully quits

If ​the ​problem ​is ​related ​to ​anything ​specific ​to ​your ​Project ​(like ​scenes, ​assets, scripts, ​or ​anything ​else), ​we ​need ​you ​to ​upload ​your ​Project ​folder ​to ​solve ​the issue. ​The ​best ​project ​folders ​for ​this ​kind ​of ​testing ​include ​only ​the ​bare ​minimum of ​assets ​required ​to ​reproduce ​the ​issue.

To ​help ​you ​reduce ​the ​size ​of ​your ​projects ​and ​to ​create ​minimal ​reproduction cases, ​ you can use the Repo Project Wizard which will ​greatly ​reduce ​the ​required ​effort. 

  • Repro ​Project ​Wizard 

With ​a ​small, ​focused ​project ​like ​that, ​we ​can ​isolate​ ​the ​bug ​more quickly. ​If you ​don’t ​have ​time ​to ​narrow ​down ​your ​assets ​to ​a ​bare ​minimum, ​you ​can ​also send ​in ​the ​full ​project ​folder. ​Small ​projects ​are ​better ​than ​large ​projects, ​but ​large projects ​are ​better ​than ​nothing. ​Our ​reporting ​system ​supports ​huge ​attachments. Please ​do ​not ​upload ​individual ​assets ​because ​the ​Project ​contains ​relevant ​data and ​files ​that ​the ​assets ​alone ​do ​not.

Find out more about how Unity stores your project files, and our commitment to privacy and intellectual property rights in our Bug Submission Additional Terms. 

We may need to ask further questions about your issue, so we require a valid email address.

When your bug is submitted, you will receive an automatic confirmation email with details about the incoming issue, which will have an ID number starting IN-. Each email will include a hyperlink to a web page that contains the current status of the issue, which you will need an Atlassian account to view (note: this is different from your Unity ID). You can check the status of your issue at any time if you are curious. If the issue gets converted into a bug you will be alerted of this with another email, and now also be able to track the issue on our public issue tracker. Generally, all fixes will be rolled out in the next major or minor update to Unity once the issue gets ‘resolved as fixed’. Keep an eye out for fixes when the new version is released!

We’re not just toolsmiths, but wordsmiths too! Read all the Unity QA blogposts past and present.

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

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

На этой странице описаны параметры, которые можно использовать при работе с окном консоли, а также способы фильтрации сообщений путем поиска по определенным ключевым словам.

Интерфейс окна консоли

Чтобы открыть консоль, в главном меню Unity выберите Окно > Общие > Консоль.

А. Консоль панель инструментовряд кнопок и основных элементов управления в верхней части редактора Unity, который позволяет вам взаимодействовать с Редактировать различными способами (например, масштабирование, перевод). Подробнее
См. в Словарь
содержит параметры для управления отображением сообщений, и для поиска и фильтрации сообщений.

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

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

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

Параметры панели инструментов консоли

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

Option: Функция:
Clear Удаляет любые сообщения, созданные из вашего кода, но сохраняет ошибки компилятора.

Открывает раскрывающееся меню с параметрами очистки.

Clear On Play Автоматически очищает консоль всякий раз, когда вы входите в режим воспроизведения.
Clear on Build Очищает консоль при сборке проекта.
Clear on Recompile Очищает консоль при перекомпиляции проекта.
Collapse Отображает только первый экземпляр повторяющихся сообщений об ошибках.

Это полезно для ошибок во время выполнения, таких как нулевые ссылки, которые иногда генерируются при каждом обновлении кадра.

Error Pause Приостанавливает воспроизведение всякий раз, когда вы вызываете Debug.LogError из скрипта.

Используйте это, чтобы приостановить воспроизведение в определенной точке выполнения и проверить сцену. Этот параметр не приостанавливает воспроизведение при вызове Debug.Log из сценария.

[Attach-to-Player] Открывает раскрывающееся меню с параметрами для подключения к сборкам разработки, запущенным на удаленных устройствах, и отображения их журналов проигрывателя в консоли.

Этот параметр помечен именем целевой сборки для разработки (это сборка журнала, отображаемая в окне консоли). Если консоль не подключена к удаленной сборке, она помечена как Редактор, чтобы показать, что журнал, отображаемый в окне консоли, получен из локального редактора Unity.

Player Logging Если консоль подключена к сборке для удаленной разработки, это позволяет вести журнал Player для сборки.

Отключение этого параметра приостанавливает ведение журнала, но консоль остается подключенной к целевой сборке.

Отключение этого параметра также скрывает остальные параметры в этом раскрывающемся меню.

Выберите любую сборку из списка ниже Ведение журнала игрока, чтобы отобразить ее журнал в окне консоли.

Editor Если консоль подключена к удаленной разрабатываемой сборкеразрабатываемая сборка включает символы отладки и включает профилировщик. Подробнее
См. в Словарь
. Выберите этот параметр, чтобы отобразить журнал из локальный проигрыватель Unity вместо журнала удаленной сборки.
Открывает диалоговое окно Введите IP-адрес проигрывателя, в котором вы можете указать IP-адрес разрабатываемой сборки на удаленном устройстве.

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

[DEVELOPMENT BUILDS] Список доступных сборок для разработки. Сюда входят автоматически определяемые сборки и те, которые вы добавляете с помощью параметра Введите IP.

Поиск и фильтрация выходных данных консоли

Вы можете искать сообщения консоли по определенным ключевым словам в строке поиска консоли. Когда вы вводите поисковый запрос, консоль фильтрует сообщения, чтобы отображались только те, которые содержат соответствующий текст. Консоль выделяет только первое совпадение в тексте сообщения и только в том случае, если оно находится в видимой части сообщения (см. Настройка количества строк ниже).

Поиск термина «имя» выделяет первое совпадение в каждом сообщении.

Поиск термина «имя» выделяет первое совпадение в каждом сообщении.

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

Поиск ищет точные совпадения с тем, что вы вводите в строке поиска. Вы не можете искать два разных термина одновременно или использовать общие операторы поисковых систем.

Вы также можете фильтровать сообщения консоли по типу. Нажимайте кнопки рядом с панелью поиска для переключения:

Кнопка Функция

Messages switch

Отображает количество сообщений в консоли. Нажмите, чтобы отобразить или скрыть сообщения.

Warnings switch

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

Errors switch

Отображает количество ошибок в консоли. Нажмите, чтобы отобразить или скрыть ошибки.

Регулировка количества строк

Каждая запись консоли может содержать до 10 строк.

Чтобы указать, сколько строк каждой записи отображается в списке, нажмите кнопку меню консоли и выберите в меню Запись журнала > [X] строк, где [X] — количество строк, отображаемых для каждой записи.

Количество строк записи журнала

Количество строк записи журнала

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

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

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

Открытие файлов журнала из консоли

Все, что Unity или ваш код записывает в окно консоли, также записывается в файл журнала. Вы можете открыть файлы журнала из меню окна консоли. Выберите Открыть Журнал проигрывателяФайл .log, созданный автономным проигрывателем, который содержит запись событий, таких как выполнение скрипта. раз, версия компилятора и время AssetImport. Файлы журнала могут помочь в диагностике проблем. Подробнее
См. в Словарь
или Открыть журнал редактора.

Вывести сообщения об ошибке в UI -> Text. Как?

Привет. Как вывести сообщения об:
— ошибке (красный значок в юнити в консоли)
— предупреждение(желтый значок в юнити в консоли)
— сообщение(серый значок в юнити в консоли)

и

то что выводиться с помощью
— Debug.Log(«Text»);
— Debug.LogError(«Text»);
— Debug.LogWarning(«Text»);

в UI -> Text? Чтобы из билда можно посмотреть что с ошибками твориться.

Аватара пользователя
Dmytro
UNIт
 
Сообщения: 55
Зарегистрирован: 29 авг 2017, 17:04


Re: Вывести сообщения об ошибке в UI -> Text. Как?

Сообщение Dmytro 02 окт 2017, 00:56

Anonymyx писал(а):https://docs.unity3d.com/ScriptReference/Application-logMessageReceived.html
Ну и try-catch.

Спасибо, сейчас попробую

Аватара пользователя
Dmytro
UNIт
 
Сообщения: 55
Зарегистрирован: 29 авг 2017, 17:04


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 17



Продолжайте говорить о проблеме проверки ошибок при написании кода в Unity. Для новичков, старых птиц, пожалуйста, пропустите ее автоматически.
Некоторые пользователи Unity, имеющие относительно слабую программную основу, часто сталкиваются с проектом, который не может быть запущен, или с результатами, которые они хотят получить при запуске. В настоящее время весьма вероятно, что код проекта сообщил об ошибке или код был написан неправильно. Самым прямым проявлением ошибки кода является ошибка печати. ​​Как правило, в нижней части окна Unity будет печататься ошибка, но появится только одна строка. Мы можем открыть окно распечатки Unity, чтобы определить, есть ли ошибка.

Откройте консоль на вкладке «Окно», чтобы открыть окно вывода:
Например:

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

Также есть три маленькие кнопки справа: одна — значок белого пузыря, одна — значок желтого треугольника, а третья — значок красного пузыря, за которым следует число.
Эти три кнопки соответствуют трем уровням печати Unity: журнал, предупреждение и ошибка. Число позади — это количество отпечатков этого типа. Если вы хотите скрыть определенный уровень печати, вы можете сделать это здесь.

После представления окна распечатки давайте поговорим о двух типах ошибок кода. Первая — это ошибка компиляции. Вторая — ошибка работы
1. Ошибка компиляции:
Это означает, что в коде проекта есть синтаксическая ошибка, из-за которой он редактируется во время компиляции.

Многие новички, возможно, спрашивали других, что означает подсказка на картинке выше? Почему мой проект не запускается?
Значение здесь заключается в том, что в вашем коде есть ошибки на уровне компиляции, и вам нужно устранить ошибку на месте, прежде чем вы сможете продолжить работу.
В этот раз нам нужно открыть окно консоли, чтобы увидеть, где код неправильный:

Вот четкое описание, в какой строке какого класса появляется ошибка. Например, приведенный выше пример отображается в строке 9 класса DebugTest.

Я написал такой код. Мне не нужно было объявлять переменную param1, поэтому я использовал ее напрямую. Затем код не смог найти объявление param1 при его компиляции, поэтому было сообщено об ошибке. Просто измените его на int param1 = 1 + 2; и об ошибке не будет. Ошибки на уровне компилятора также могут быть вызваны вводом точки с запятой или круглых скобок, поэтому будьте осторожны.

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

Затем компиляция прошла, но во время выполнения была обнаружена ошибка:

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

Выше были упомянуты две распространенные ситуации, когда возникают ошибки. Ошибки компиляции легко проверить, и они появляются перед запуском. Если это неправильно, проверьте код, чтобы изменить его. То, что сложно проверить, — это вообще логическая ошибка. Когда мы работаем, нам нужно знать, что переменная изменяется при вызове метода, являются ли входные и выходные параметры ненормальными и т. Д., Чтобы определить местонахождение проблемы.

В настоящее время обычно существует два способа проверки ошибок: первый — это точки останова программы, а другой — распечатать.
Как проверить проблему с точками останова в Unity, я написал статью в 2013 году, процесс аналогичен, поэтому я не буду повторять его, вы можете прыгнуть, чтобы увидеть:
http://liweizhaolili.blog.163.com/blog/static/162307442013214485190/
Важно отметить, что многие друзья не знают, что такое точка останова. В среде, где могут быть созданы точки останова, точки останова — это самый быстрый способ найти проблемы и один из самых основных навыков программистов. Конкретное значение точек останова может быть Baidu. Мое простое резюме состоит в том, что вы можете щелкнуть определенную строку, в которой вы пишете код, а затем, когда программа перейдет к этой строке, она автоматически остановится и позволит вам увидеть текущую запущенную программу Когда, каково конкретное значение каждого параметра. Затем вы можете продолжить выполнение кода строка за строкой, продолжить наблюдение за изменениями переменных и, наконец, найти проблему.

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

Например, если я напишу так, результат будет:

Unity распечатает содержимое в соответствии с указанным мной уровнем печати.

В некоторых случаях из-за большого количества отпечатков вы обнаружите, что нет возможности легко найти то, что вы хотите распечатать. Здесь я рекомендую плагин ConsolsE.

Интерфейс этого подключаемого модуля аналогичен общему интерфейсу консоли, но есть дополнительное поле фильтра, и максимальное количество из трех типов печати справа больше не 999+, а фактическое количество отпечатков .

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


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

При этом содержимого на самом деле очень мало. Подводя итог, можно сказать, что есть два случая ошибок кода: первый — это ошибка компиляции, а второй — логическая ошибка. Где сообщается об ошибке компиляции? Где сообщается об ошибке? Есть два способа проверить наличие логических ошибок: точка останова и печать.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Unity ошибка при создании проекта
  • Unity ошибка при запуске проекта