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

283 lines
20 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_ScriptBacktrace:
ScriptBacktrace
===============
**Наследует:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Захваченный обратный след определенного скриптового языка.
.. rst-class:: classref-introduction-group
Описание
----------------
**ScriptBacktrace** содержит уже захваченную обратную трассировку определенного языка скрипта, например GDScript или C#, которые захватываются с помощью :ref:`Engine.capture_script_backtraces()<class_Engine_method_capture_script_backtraces>`.
См. :ref:`ProjectSettings.debug/settings/gdscript/always_track_call_stacks<class_ProjectSettings_property_debug/settings/gdscript/always_track_call_stacks>` и :ref:`ProjectSettings.debug/settings/gdscript/always_track_local_variables<class_ProjectSettings_property_debug/settings/gdscript/always_track_local_variables>` для способов управления содержимым этого класса.
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`format<class_ScriptBacktrace_method_format>`\ (\ indent_all\: :ref:`int<class_int>` = 0, indent_frames\: :ref:`int<class_int>` = 4\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_frame_count<class_ScriptBacktrace_method_get_frame_count>`\ (\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_frame_file<class_ScriptBacktrace_method_get_frame_file>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_frame_function<class_ScriptBacktrace_method_get_frame_function>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_frame_line<class_ScriptBacktrace_method_get_frame_line>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_global_variable_count<class_ScriptBacktrace_method_get_global_variable_count>`\ (\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_global_variable_name<class_ScriptBacktrace_method_get_global_variable_name>`\ (\ variable_index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`get_global_variable_value<class_ScriptBacktrace_method_get_global_variable_value>`\ (\ variable_index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_language_name<class_ScriptBacktrace_method_get_language_name>`\ (\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_local_variable_count<class_ScriptBacktrace_method_get_local_variable_count>`\ (\ frame_index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_local_variable_name<class_ScriptBacktrace_method_get_local_variable_name>`\ (\ frame_index\: :ref:`int<class_int>`, variable_index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`get_local_variable_value<class_ScriptBacktrace_method_get_local_variable_value>`\ (\ frame_index\: :ref:`int<class_int>`, variable_index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_member_variable_count<class_ScriptBacktrace_method_get_member_variable_count>`\ (\ frame_index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_member_variable_name<class_ScriptBacktrace_method_get_member_variable_name>`\ (\ frame_index\: :ref:`int<class_int>`, variable_index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`get_member_variable_value<class_ScriptBacktrace_method_get_member_variable_value>`\ (\ frame_index\: :ref:`int<class_int>`, variable_index\: :ref:`int<class_int>`\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_empty<class_ScriptBacktrace_method_is_empty>`\ (\ ) |const| |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_ScriptBacktrace_method_format:
.. rst-class:: classref-method
:ref:`String<class_String>` **format**\ (\ indent_all\: :ref:`int<class_int>` = 0, indent_frames\: :ref:`int<class_int>` = 4\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_format>`
Преобразует обратную трассировку в :ref:`String<class_String>`, где вся строка будет иметь отступ в ``indent_all`` пробелов, а отдельные кадры стека будут дополнительно иметь отступ в ``indent_frames`` пробелов.
\ **Примечание:** Вызов :ref:`Object.to_string()<class_Object_method_to_string>` в **ScriptBacktrace** даст тот же вывод, что и вызов :ref:`format()<class_ScriptBacktrace_method_format>` со всеми параметрами, оставленными со значениями по умолчанию.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_frame_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_frame_count**\ (\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_frame_count>`
Возвращает количество кадров стека в обратной трассировке.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_frame_file:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_frame_file**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_frame_file>`
Возвращает имя файла места вызова, представленного стековым кадром по указанному индексу.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_frame_function:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_frame_function**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_frame_function>`
Возвращает имя функции, вызванной в кадре стека по указанному индексу.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_frame_line:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_frame_line**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_frame_line>`
Возвращает номер строки места вызова, представленного стековым кадром по указанному индексу.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_global_variable_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_global_variable_count**\ (\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_global_variable_count>`
Возвращает количество глобальных переменных (например, автозагрузочных синглтонов) в обратной трассировке.
\ **Примечание:** Это будет ненулевым, только если параметр ``include_variables`` был ``true`` при захвате обратной трассировки с помощью :ref:`Engine.capture_script_backtraces()<class_Engine_method_capture_script_backtraces>`.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_global_variable_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_global_variable_name**\ (\ variable_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_global_variable_name>`
Возвращает имя глобальной переменной по указанному индексу.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_global_variable_value:
.. rst-class:: classref-method
:ref:`Variant<class_Variant>` **get_global_variable_value**\ (\ variable_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_global_variable_value>`
Возвращает значение глобальной переменной по указанному индексу.
\ **Предупреждение:** При обратной трассировке GDScript возвращаемый :ref:`Variant<class_Variant>` будет фактическим значением переменной, включая любые ссылки на объекты. Это означает, что сохранение возвращаемого :ref:`Variant<class_Variant>` предотвратит освобождение любого такого объекта, поэтому обычно рекомендуется этого не делать.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_language_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_language_name**\ (\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_language_name>`
Возвращает название языка скрипта, с которого была получена эта трассировка.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_local_variable_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_local_variable_count**\ (\ frame_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_local_variable_count>`
Возвращает количество локальных переменных в стековом кадре по указанному индексу.
\ **Примечание:** Это будет ненулевым, только если параметр ``include_variables`` был ``true`` при захвате обратной трассировки с помощью :ref:`Engine.capture_script_backtraces()<class_Engine_method_capture_script_backtraces>`.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_local_variable_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_local_variable_name**\ (\ frame_index\: :ref:`int<class_int>`, variable_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_local_variable_name>`
Возвращает имя локальной переменной с указанным ``variable_index`` в кадре стека с указанным ``frame_index``.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_local_variable_value:
.. rst-class:: classref-method
:ref:`Variant<class_Variant>` **get_local_variable_value**\ (\ frame_index\: :ref:`int<class_int>`, variable_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_local_variable_value>`
Возвращает значение локальной переменной по указанному ``variable_index`` в стековом кадре по указанному ``frame_index``.
\ **Предупреждение:** При использовании обратных трассировок GDScript возвращаемый :ref:`Variant<class_Variant>` будет фактическим значением переменной, включая любые ссылки на объекты. Это означает, что сохранение возвращаемого :ref:`Variant<class_Variant>` предотвратит освобождение любого такого объекта, поэтому обычно рекомендуется этого не делать.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_member_variable_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_member_variable_count**\ (\ frame_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_member_variable_count>`
Возвращает количество переменных-членов в стековом фрейме по указанному индексу.
\ **Примечание:** Это будет ненулевым, только если параметр ``include_variables`` был ``true`` при захвате обратной трассировки с помощью :ref:`Engine.capture_script_backtraces()<class_Engine_method_capture_script_backtraces>`.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_member_variable_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **get_member_variable_name**\ (\ frame_index\: :ref:`int<class_int>`, variable_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_member_variable_name>`
Возвращает имя переменной-члена с указанным ``variable_index`` в кадре стека с указанным ``frame_index``.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_get_member_variable_value:
.. rst-class:: classref-method
:ref:`Variant<class_Variant>` **get_member_variable_value**\ (\ frame_index\: :ref:`int<class_int>`, variable_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_get_member_variable_value>`
Возвращает значение переменной-члена по указанному ``variable_index`` в стековом кадре по указанному ``frame_index``.
\ **Предупреждение:** При обратной трассировке GDScript возвращаемый :ref:`Variant<class_Variant>` будет фактическим значением переменной, включая любые ссылки на объекты. Это означает, что сохранение возвращаемого :ref:`Variant<class_Variant>` предотвратит освобождение любого такого объекта, поэтому обычно рекомендуется этого не делать.
.. rst-class:: classref-item-separator
----
.. _class_ScriptBacktrace_method_is_empty:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_empty**\ (\ ) |const| :ref:`🔗<class_ScriptBacktrace_method_is_empty>`
Возвращает ``true``, если обратная трассировка не имеет стековых кадров.
.. |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 (Нет возвращаемого значения.)`