Files
godot-docs-l10n/classes/ru/class_enginedebugger.rst

377 lines
25 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_EngineDebugger:
EngineDebugger
==============
**Наследует:** :ref:`Object<class_Object>`
Открывает доступ к внутреннему отладчику.
.. rst-class:: classref-introduction-group
Описание
----------------
**EngineDebugger** управляет связью между редактором и запущенной игрой. Он активен в запущенной игре. Через него можно отправлять/получать сообщения. Он также управляет профайлерами.
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_breakpoints<class_EngineDebugger_method_clear_breakpoints>`\ (\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`debug<class_EngineDebugger_method_debug>`\ (\ can_continue\: :ref:`bool<class_bool>` = true, is_error_breakpoint\: :ref:`bool<class_bool>` = false\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_depth<class_EngineDebugger_method_get_depth>`\ (\ ) |const| |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_lines_left<class_EngineDebugger_method_get_lines_left>`\ (\ ) |const| |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_capture<class_EngineDebugger_method_has_capture>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_profiler<class_EngineDebugger_method_has_profiler>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`insert_breakpoint<class_EngineDebugger_method_insert_breakpoint>`\ (\ line\: :ref:`int<class_int>`, source\: :ref:`StringName<class_StringName>`\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_active<class_EngineDebugger_method_is_active>`\ (\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_breakpoint<class_EngineDebugger_method_is_breakpoint>`\ (\ line\: :ref:`int<class_int>`, source\: :ref:`StringName<class_StringName>`\ ) |const| |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_profiling<class_EngineDebugger_method_is_profiling>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_skipping_breakpoints<class_EngineDebugger_method_is_skipping_breakpoints>`\ (\ ) |const| |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`line_poll<class_EngineDebugger_method_line_poll>`\ (\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`profiler_add_frame_data<class_EngineDebugger_method_profiler_add_frame_data>`\ (\ name\: :ref:`StringName<class_StringName>`, data\: :ref:`Array<class_Array>`\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`profiler_enable<class_EngineDebugger_method_profiler_enable>`\ (\ name\: :ref:`StringName<class_StringName>`, enable\: :ref:`bool<class_bool>`, arguments\: :ref:`Array<class_Array>` = []\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`register_message_capture<class_EngineDebugger_method_register_message_capture>`\ (\ name\: :ref:`StringName<class_StringName>`, callable\: :ref:`Callable<class_Callable>`\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`register_profiler<class_EngineDebugger_method_register_profiler>`\ (\ name\: :ref:`StringName<class_StringName>`, profiler\: :ref:`EngineProfiler<class_EngineProfiler>`\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`remove_breakpoint<class_EngineDebugger_method_remove_breakpoint>`\ (\ line\: :ref:`int<class_int>`, source\: :ref:`StringName<class_StringName>`\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`script_debug<class_EngineDebugger_method_script_debug>`\ (\ language\: :ref:`ScriptLanguage<class_ScriptLanguage>`, can_continue\: :ref:`bool<class_bool>` = true, is_error_breakpoint\: :ref:`bool<class_bool>` = false\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`send_message<class_EngineDebugger_method_send_message>`\ (\ message\: :ref:`String<class_String>`, data\: :ref:`Array<class_Array>`\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_depth<class_EngineDebugger_method_set_depth>`\ (\ depth\: :ref:`int<class_int>`\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_lines_left<class_EngineDebugger_method_set_lines_left>`\ (\ lines\: :ref:`int<class_int>`\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`unregister_message_capture<class_EngineDebugger_method_unregister_message_capture>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`unregister_profiler<class_EngineDebugger_method_unregister_profiler>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_EngineDebugger_method_clear_breakpoints:
.. rst-class:: classref-method
|void| **clear_breakpoints**\ (\ ) :ref:`🔗<class_EngineDebugger_method_clear_breakpoints>`
Очищает все точки останова.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_debug:
.. rst-class:: classref-method
|void| **debug**\ (\ can_continue\: :ref:`bool<class_bool>` = true, is_error_breakpoint\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_EngineDebugger_method_debug>`
Запускает отладочную паузу в выполнении скрипта, при необходимости указывая, может ли программа продолжать работу на основе ``can_continue`` и была ли пауза вызвана точкой останова.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_get_depth:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_depth**\ (\ ) |const| :ref:`🔗<class_EngineDebugger_method_get_depth>`
**Экспериментальное:** Этот метод может быть изменён или удалён в будущих версиях.
Возвращает текущую глубину отладки.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_get_lines_left:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_lines_left**\ (\ ) |const| :ref:`🔗<class_EngineDebugger_method_get_lines_left>`
**Экспериментальное:** Этот метод может быть изменён или удалён в будущих версиях.
Возвращает количество оставшихся строк.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_has_capture:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_capture**\ (\ name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_EngineDebugger_method_has_capture>`
Возвращает ``true``, если захват (capture) с указанным именем присутствует, в противном случае ``false``.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_has_profiler:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_profiler**\ (\ name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_EngineDebugger_method_has_profiler>`
Возвращает ``true``, если профайлер с указанным именем присутствует, в противном случае ``false``.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_insert_breakpoint:
.. rst-class:: classref-method
|void| **insert_breakpoint**\ (\ line\: :ref:`int<class_int>`, source\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_EngineDebugger_method_insert_breakpoint>`
Вставляет новую точку останова с заданными ``source`` и ``line``.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_is_active:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_active**\ (\ ) :ref:`🔗<class_EngineDebugger_method_is_active>`
Возвращает ``true``, если отладчик активен, в противном случае ``false``.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_is_breakpoint:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_breakpoint**\ (\ line\: :ref:`int<class_int>`, source\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_EngineDebugger_method_is_breakpoint>`
Возвращает ``true``, если заданные ``source`` и ``line`` представляют существующую точку останова.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_is_profiling:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_profiling**\ (\ name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_EngineDebugger_method_is_profiling>`
Возвращает ``true``, если профилировщик с указанным именем присутствует и активен, в противном случае ``false``.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_is_skipping_breakpoints:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_skipping_breakpoints**\ (\ ) |const| :ref:`🔗<class_EngineDebugger_method_is_skipping_breakpoints>`
Возвращает ``true``, если отладчик пропускает точки останова, в противном случае ``false``.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_line_poll:
.. rst-class:: classref-method
|void| **line_poll**\ (\ ) :ref:`🔗<class_EngineDebugger_method_line_poll>`
Запускает цикл обработки событий отладчика. Цель этого метода — просто обрабатывать события время от времени, когда скрипт может быть слишком занят, чтобы можно было отловить ошибки, такие как бесконечные циклы.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_profiler_add_frame_data:
.. rst-class:: classref-method
|void| **profiler_add_frame_data**\ (\ name\: :ref:`StringName<class_StringName>`, data\: :ref:`Array<class_Array>`\ ) :ref:`🔗<class_EngineDebugger_method_profiler_add_frame_data>`
Вызывает вызываемый объект ``add`` профилировщика с заданными ``name`` и ``data``.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_profiler_enable:
.. rst-class:: classref-method
|void| **profiler_enable**\ (\ name\: :ref:`StringName<class_StringName>`, enable\: :ref:`bool<class_bool>`, arguments\: :ref:`Array<class_Array>` = []\ ) :ref:`🔗<class_EngineDebugger_method_profiler_enable>`
Вызывает ``toggle`` вызываемый объект профилировщика с заданными ``name`` и ``arguments``. Включает/отключает тот же профилировщик в зависимости от аргумента ``enable``.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_register_message_capture:
.. rst-class:: classref-method
|void| **register_message_capture**\ (\ name\: :ref:`StringName<class_StringName>`, callable\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_EngineDebugger_method_register_message_capture>`
Регистрирует захват сообщения с заданным ``name``. Если ``name`` равно "my_message", то сообщения, начинающиеся с "my_message:", будут вызываться с заданным вызываемым объектом.
Вызываемый объект должен принимать строку сообщения и массив данных в качестве аргумента. Вызываемый объект должен возвращать ``true``, если сообщение распознано.
\ **Примечание:** Вызываемый объект получит сообщение с удаленным префиксом, в отличие от :ref:`EditorDebuggerPlugin._capture()<class_EditorDebuggerPlugin_private_method__capture>`. См. описание :ref:`EditorDebuggerPlugin<class_EditorDebuggerPlugin>` для примера.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_register_profiler:
.. rst-class:: classref-method
|void| **register_profiler**\ (\ name\: :ref:`StringName<class_StringName>`, profiler\: :ref:`EngineProfiler<class_EngineProfiler>`\ ) :ref:`🔗<class_EngineDebugger_method_register_profiler>`
Регистрирует профилировщик с указанным ``name``. Для получения дополнительной информации см. :ref:`EngineProfiler<class_EngineProfiler>`.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_remove_breakpoint:
.. rst-class:: classref-method
|void| **remove_breakpoint**\ (\ line\: :ref:`int<class_int>`, source\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_EngineDebugger_method_remove_breakpoint>`
Удаляет точку останова с заданными ``source`` и ``line``.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_script_debug:
.. rst-class:: classref-method
|void| **script_debug**\ (\ language\: :ref:`ScriptLanguage<class_ScriptLanguage>`, can_continue\: :ref:`bool<class_bool>` = true, is_error_breakpoint\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_EngineDebugger_method_script_debug>`
Запускает отладочную паузу в выполнении скрипта, при необходимости указывая, может ли программа продолжать работу на основе ``can_continue`` и была ли пауза вызвана точкой останова.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_send_message:
.. rst-class:: classref-method
|void| **send_message**\ (\ message\: :ref:`String<class_String>`, data\: :ref:`Array<class_Array>`\ ) :ref:`🔗<class_EngineDebugger_method_send_message>`
Отправляет сообщение с заданным массивом ``message`` и ``data``.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_set_depth:
.. rst-class:: classref-method
|void| **set_depth**\ (\ depth\: :ref:`int<class_int>`\ ) :ref:`🔗<class_EngineDebugger_method_set_depth>`
**Экспериментальное:** Этот метод может быть изменён или удалён в будущих версиях.
Устанавливает текущую глубину отладки.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_set_lines_left:
.. rst-class:: classref-method
|void| **set_lines_left**\ (\ lines\: :ref:`int<class_int>`\ ) :ref:`🔗<class_EngineDebugger_method_set_lines_left>`
**Экспериментальное:** Этот метод может быть изменён или удалён в будущих версиях.
Устанавливает текущие оставшиеся строки отладки.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_unregister_message_capture:
.. rst-class:: classref-method
|void| **unregister_message_capture**\ (\ name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_EngineDebugger_method_unregister_message_capture>`
Отменяет регистрацию захвата сообщения с указанным ``name``.
.. rst-class:: classref-item-separator
----
.. _class_EngineDebugger_method_unregister_profiler:
.. rst-class:: classref-method
|void| **unregister_profiler**\ (\ name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_EngineDebugger_method_unregister_profiler>`
Отменяет регистрацию профилировщика с указанным ``name``.
.. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)`
.. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)`
.. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)`
.. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)`
.. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)`
.. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)`
.. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`