Обзор инструментов отладки

В этом руководстве представлен обзор доступных в движке инструментов отладки.

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

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

Output Panel (Панель вывода)

Панель вывода позволяет видеть текст, выводимый проектом, а также редактором (например, из скриптов @tool). Информацию о ней можно найти в Панель вывода.

Панель отладчика (Debugger Panel)

Многие инструменты отладки Godot являются частью панели Debugger (отладчика), информацию о которой можно найти в Панель Отладчика.

Параметры меню отладки

Существует несколько распространенных параметров отладки, которые можно включать и выключать при запуске игры в редакторе. Это может помочь вам в отладке игры.

Эти параметры можно найти в меню редактора Debug.

../../../_images/overview_debug.webp

Вот описания опций:

Развернуть с удалённой отладкой

Если эта опция включена, при использовании функции развертывания в один клик исполняемый файл попытается подключиться к IP-адресу этого компьютера для отладки запущенного проекта. Эта опция предназначена для удалённой отладки (обычно с мобильного устройства). Для локального использования отладчика GDScript её включать не нужно.

Небольшое развертывание с Сетевой файловой системой

Эта опция ускоряет тестирование игр с большим объемом памяти на удаленных устройствах.

При включении Small Deploy with Network Filesystem вместо экспорта полной игры при её развертывании создаётся минимальный исполняемый файл. После этого редактор предоставляет файлы проекта по сети.

Кроме того, на Android игра развертывается с помощью USB-кабеля для ускорения процесса развертывания.

Видимые области соприкосновения

Если эта опция включена, в запущенном проекте будут видны формы столкновений и узлы raycast (для 2D и 3D).

Видимые пути

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

Видимая навигация

Если эта опция включена, навигационные сетки и полигоны будут видны в запущенном проекте.

Видимое избегание

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

Отладка Перерисовок CanvasItem

При включении этой опции запросы на перерисовку 2D-объектов будут видны (в виде короткой вспышки) в запущенном проекте. Это полезно для диагностики режима низкой загрузки процессора.

Синхронизировать Изменение Сцен

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

Синхронизировать Изменения Скрипта

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

Оставить Отладочный Сервер открытым

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

Настроить экземпляры запуска...

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

../../../_images/customize_run_instances.webp

Включить несколько экземпляров

Если эта опция включена, редактор будет запускать несколько экземпляров проекта одновременно при Запуске Проекта.

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

Установка флажка и значения 1 равнозначна тому, что отсутствие флажка вообще.

Основные аргументы запуска

Это аргументы, которые будут переданы каждому экземпляру проекта при запуске проекта, если только вы не выберете "Enabled" в разделе "Override Main Run Args (Переопределить основные аргументы запуска)" для конкретного экземпляра.

Обратите внимание, что эти аргументы разделены пробелами.

Совет

Доступ к этим аргументам в вашем скрипте можно получить с помощью get_cmdline_args.

Предупреждение

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

Основные Теги Функций

Это теги функций, которые будут переданы каждому экземпляру проекта при запуске проекта, если только вы не выберете "Enabled" в разделе "Override Main Tags" для конкретного экземпляра.

Переопределение Main Run Args

Если эта опция включена, аргументы в поле "Main Run Args" не будут передаваться данному конкретному экземпляру проекта при запуске проекта.

Аргументы запуска

Эти аргументы будут переданы данному экземпляру проекта при запуске проекта. Они будут объединены с "Main Run Args", если только вы не выберете "Enabled" в разделе "Override Main Run Args".

Переопределяемые Main Tags

Если эта опция включена, теги в поле "Main Feature Tags" не будут передаваться данному конкретному экземпляру проекта при запуске проекта.

Теги функций

Это теги функций, которые будут переданы данному экземпляру проекта при запуске проекта. Они будут объединены с тегами основных функций, если только вы не выберете "Enabled" в разделе "Override Main Tags".

Предупреждение

Если вы хотите передать аргументы "User", доступ к которым можно получить с помощью get_cmdline_user_args, то вы должны предварить их двумя дефисами и пробелом, например -- one two three.

Имейте в виду, что эти дефисы будут применяться к аргументам, добавленным позже в "Launch Arguments" для каждого экземпляра отдельно, что может вызвать некоторую путаницу при объединении Main Run Args и Launch Arguments.

Если вы добавите -- one two three в поле "Main Run Args и -- four five six в поле "Launch Arguments", то конечными аргументами командной строки будут one two three -- four five six. Это связано с тем, что -- повторяется в поле "Launch Arguments".

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

Редактор скриптов имеет собственный набор инструментов отладки для работы с точками останова и двумя опциями. Инструменты для работы с точками останова также можно найти на вкладке Debugger отладчика.

Совет

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

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

../../../_images/overview_script_editor.webp

Кнопка Break прерывает выполнение скрипта, как и точка останова. Continue продолжает игру после остановки в точке останова. Step Over переходит на следующую строку кода, а Step Into — в функцию, если это возможно. В противном случае она выполняет то же действие, что и Step Over.

Параметр Debug with External Editor позволяет отлаживать игру с помощью внешнего редактора. Вы можете настроить для него сочетание клавиш в разделе Editor Settings > Shortcuts > Debugger.

Когда отладчик останавливается на breakpoint, в области редактора скриптов появляется зелёная треугольная стрелка. Эта стрелка указывает на строку кода, на которой отладчик остановился.

Отладка настроек проекта

В настройках проекта есть категория Debug с подкатегориями, которые управляют различными параметрами. Чтобы изменить эти параметры, включите Advanced Settings.

Настройки

Это некоторые общие настройки, такие как вывод текущего FPS на панель Output, максимальное количество функций при профилировании и другие.

Ведение журнала файлов

Эти настройки позволяют регистрировать вывод консоли и сообщения об ошибках в файлах.

GDScript

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

Язык Шейдеров

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

Изделия из холста

Эти настройки предназначены для отладки перерисовки элементов холста.

Фигуры

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

Пульт дистанционного управления во вкладке сцены

При запуске игры в редакторе в верхней части панели Scene появляются два варианта: Remote и Local. При использовании Remote вы можете просматривать или изменять параметры узлов в запущенном проекте.

../../../_images/overview_remote.webp

Примечание

Некоторые настройки редактора, связанные с отладкой, можно найти в Editor Settings, в разделах Network > Debug и Debugger.