Video Tutorials
Interface
Essentials
Advanced
Полезные советы
UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Landscape Tool
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Программирование
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Работа с контентом
Content Optimization
Materials
Art Samples
Tutorials

Отладка C# компонентов

Вы можете проверять исходный код ваших компонентов C# во время работы вашего приложения. Отладка кода C# поддерживается для следующих IDE:

Примечание
.NET Core SDK 3.1.100 - минимальное требование, рекомендуется 3.1.300 . В случае каких-либо проблем с .NET Core, обратитесь к соответствующему разделу устранения неполадок .

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

Ведение журнала и печать сообщений в консоль#

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

Примечание
Чтобы включить отображение системных сообщений в Консоли, используйте следующую команду: show_messages 1
или сделайте то же самое с помощью кода:
Исходный код (C#)
Console.Run("show_messages 1");

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

Исходный код (C#)
// auxiliary variables for messages
string file_name = "file.txt";
int ID = 10;
			
// reporting an error message
Log.Error("Loading mesh: can't open \"{0}\" file\n", file_name);

// reporting a message
Log.Message("-> Added {0} UI elements.\n", ID);
	
// reporting a warning message
Log.Warning("ID of the \"{0}\" file: {1}.\n", file_name, ID);
	
// reporting a fatal error message to the log file and closing the application
Log.Fatal("FATAL ERROR reading \"{0}\" file!\n", file_name);

Смотрите также#

  • Дополнительную информацию о консоли см. на странице Console .
  • Для получения дополнительной информации о классе журнала см. страницу Log class .
  • Видеоурок , демонстрирующий, как выводить сообщения пользователя на консоль с помощью системы компонентов C#.

Отладка в Visual Studio Code#

Visual Studio Code известен своими отличными инструментами отладки. Встроенная поддержка отладки доступна для среды выполнения Node.js, а другие реализованы как расширения.

Прежде всего, убедитесь, что установлен C# extension for Visual Studio Code. Если нет, откройте палитру команд в VS Code (нажмите F1) и запустите Extensions: Install Extensions. Введите C# в поле поиска и нажмите Enter. Выберите расширение и щелкните Install Если вы ранее устанавливали расширение C#, убедитесь, что у вас установлена ​​последняя версия. Вы можете проверить это, открыв палитру команд (нажмите F1) и запустив Extensions: Show Installed Extensions.

В VS Code на самом деле есть два режима отладки, обрабатывающих два разных рабочих процесса:

  • Launch - отладка вашего приложения в ICE сразу после его сборки и запуска.
  • Attach - подключение к уже запущенному экземпляру вашего приложения для его отладки.

Чтобы начать отладку, вы должны сначала вызвать представление «Выполнить». Для этого выберите значок Run в поле Activity Bar на стороне VS Code или используйте сочетание клавиш Ctrl+Shift+D.

Отладка в IDE#

Чтобы скомпилировать все ваши компоненты, собрать приложение и отладить его, запустив его прямо из IDE (без переключения на UnigineEditor и нажатия кнопки Play), вы должны выбрать Run Debug в раскрывающемся списке Run:

Теперь вы можете добавить необходимые точки останова и просто нажать F5, чтобы запустить процесс отладки.

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

Примечание
Если мир по умолчанию не установлен, после запуска приложения вы увидите черный экран. В этом случае вы можете открыть консоль (нажмите "~" на клавиатуре) и загрузить желаемый мир с помощью консольной команды world_load или через API.

Чтобы изменить или указать мир по умолчанию, а также путь к папке data или любые другие параметры запуска , нажмите кнопку Шестеренка . Это откроет файл launch.json, содержащий конфигурацию отладчика. Параметры запуска целевого приложения (вашего проекта) можно указать в элементе "args".

Отладка путем подключения к запущенному приложению#

Вы также можете подключить отладчик VS Code к экземпляру вашего приложения, которое уже запущено - наиболее распространенный случай - запускать его с помощью кнопки Play в UnigineEditor. В этом случае вы должны выбрать .NET Core Attach в раскрывающемся списке Run:

Теперь вы можете добавить необходимые точки останова и просто нажать F5, чтобы запустить процесс отладки. Единственное отличие здесь в том, что вы должны выбрать приложение, к которому нужно прикрепиться. Вы должны выбрать первый процесс в списке с именем dotnet.exe (введите «dotnet» в поле поиска, чтобы быстро его найти).

Установка точек останова#

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

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

Для получения более подробной информации об отладке в Visual Studio Code перейдите по этой ссылке .

Отладка в Microsoft Visual Studio#

Отладка в IDE#

Чтобы скомпилировать все ваши компоненты, собрать приложение и отладить его, запустив его прямо из IDE (без переключения на UnigineEditor и нажатия кнопки Play), вам следует добавить необходимые точки останова и просто нажать F5 , чтобы запустить процесс отладки.

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

Примечание
Если мир по умолчанию не установлен, после запуска приложения вы увидите черный экран. В этом случае вы можете открыть консоль (нажмите "~" на клавиатуре) и загрузить желаемый мир с помощью консольной команды world_load или через API.

Чтобы изменить или указать мир по умолчанию, а также путь к папке data или любые другие параметры запуска , выберите Debug -> your_project_name Properties в главном меню.

Откроется следующее окно с конфигурацией отладчика для вашего проекта. Параметры запуска целевого приложения (вашего проекта) можно указать в поле Application arguments.

Отладка путем подключения к запущенному приложению#

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

Во-первых, вы должны добавить необходимые точки останова . Затем вы можете выбрать Debug -> Attach to Process в главном меню (или нажать Ctrl + Alt + P), чтобы запустить процесс отладки.

Следующее, что вам нужно сделать, это выбрать приложение, к которому нужно прикрепиться. Вы должны выбрать первый процесс с именем dotnet.exe в списке Available processes (введите dotnet" в поле фильтра, чтобы быстро его найти). Затем нажмите Attach.

Установка точек останова#

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

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

Для получения более подробной информации об отладке в Microsoft Visual Studio перейдите по этой ссылке .

Отладка в Linux#

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

Рабочий процесс выглядит следующим образом:

  1. Вставьте следующий код в AppSystemLogic.cs или в любой код компонента:
    Исходный код (C#)
    public class Debugger
    {
        public static void ReleaseMouse()
        {
            App.MouseGrab = false;
            App.MouseCursorHide = false;
            App.MouseCursorNeedUpdate = true;
            App.UpdateMouseCursor();
        }
    }
  2. Затем мы можем поставить точку останова в любом месте кода, запустить процесс отладки, как описано выше, и протестировать наше приложение.
  3. По достижении точки останова переключите фокус на окно Debug Console, нажав Ctrl + Shift + Y на клавиатуре.
  4. Введите в консоли следующую строку:
    Исходный код (C#)
    Debugger.ReleaseMouse();
    и нажмите Enter
  5. Курсор мыши разблокирован!

Вам нужно ввести это только один раз, затем вы можете выполнить эти действия с помощью горячих клавиш:
[Ctrl + Shift + Y] -> Arrow_Up -> [Enter] (Visual Studio Code).

Такой же подход работает и для других IDE. Каждый из них имеет свою собственную «Консоль отладки», позволяющую выполнять код, когда приложение приостановлено. Итак, вы должны найти его, открыть и выполнить этот код: Debugger.ReleaseMouse();.

Последнее обновление: 10.10.2020