Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
EngineDebugger
Наследует: Object
Открывает доступ к внутреннему отладчику.
Описание
EngineDebugger управляет связью между редактором и запущенной игрой. Он активен в запущенной игре. Через него можно отправлять/получать сообщения. Он также управляет профайлерами.
Методы
void |
|
void |
debug(can_continue: bool = true, is_error_breakpoint: bool = false) |
get_depth() const |
|
get_lines_left() const |
|
has_capture(name: StringName) |
|
has_profiler(name: StringName) |
|
void |
insert_breakpoint(line: int, source: StringName) |
is_breakpoint(line: int, source: StringName) const |
|
is_profiling(name: StringName) |
|
is_skipping_breakpoints() const |
|
void |
|
void |
profiler_add_frame_data(name: StringName, data: Array) |
void |
profiler_enable(name: StringName, enable: bool, arguments: Array = []) |
void |
register_message_capture(name: StringName, callable: Callable) |
void |
register_profiler(name: StringName, profiler: EngineProfiler) |
void |
remove_breakpoint(line: int, source: StringName) |
void |
script_debug(language: ScriptLanguage, can_continue: bool = true, is_error_breakpoint: bool = false) |
void |
send_message(message: String, data: Array) |
void |
|
void |
set_lines_left(lines: int) |
void |
|
void |
unregister_profiler(name: StringName) |
Описания метода
void clear_breakpoints() 🔗
Очищает все точки останова.
void debug(can_continue: bool = true, is_error_breakpoint: bool = false) 🔗
Запускает отладочную паузу в выполнении скрипта, при необходимости указывая, может ли программа продолжать работу на основе can_continue и была ли пауза вызвана точкой останова.
Экспериментальное: Этот метод может быть изменён или удалён в будущих версиях.
Возвращает текущую глубину отладки.
Экспериментальное: Этот метод может быть изменён или удалён в будущих версиях.
Возвращает количество оставшихся строк.
bool has_capture(name: StringName) 🔗
Возвращает true, если захват (capture) с указанным именем присутствует, в противном случае false.
bool has_profiler(name: StringName) 🔗
Возвращает true, если профайлер с указанным именем присутствует, в противном случае false.
void insert_breakpoint(line: int, source: StringName) 🔗
Вставляет новую точку останова с заданными source и line.
Возвращает true, если отладчик активен, в противном случае false.
bool is_breakpoint(line: int, source: StringName) const 🔗
Возвращает true, если заданные source и line представляют существующую точку останова.
bool is_profiling(name: StringName) 🔗
Возвращает true, если профилировщик с указанным именем присутствует и активен, в противном случае false.
bool is_skipping_breakpoints() const 🔗
Возвращает true, если отладчик пропускает точки останова, в противном случае false.
void line_poll() 🔗
Запускает цикл обработки событий отладчика. Цель этого метода — просто обрабатывать события время от времени, когда скрипт может быть слишком занят, чтобы можно было отловить ошибки, такие как бесконечные циклы.
void profiler_add_frame_data(name: StringName, data: Array) 🔗
Вызывает вызываемый объект add профилировщика с заданными name и data.
void profiler_enable(name: StringName, enable: bool, arguments: Array = []) 🔗
Вызывает toggle вызываемый объект профилировщика с заданными name и arguments. Включает/отключает тот же профилировщик в зависимости от аргумента enable.
void register_message_capture(name: StringName, callable: Callable) 🔗
Регистрирует захват сообщения с заданным name. Если name равно "my_message", то сообщения, начинающиеся с "my_message:", будут вызываться с заданным вызываемым объектом.
Вызываемый объект должен принимать строку сообщения и массив данных в качестве аргумента. Вызываемый объект должен возвращать true, если сообщение распознано.
Примечание: Вызываемый объект получит сообщение с удаленным префиксом, в отличие от EditorDebuggerPlugin._capture(). См. описание EditorDebuggerPlugin для примера.
void register_profiler(name: StringName, profiler: EngineProfiler) 🔗
Регистрирует профилировщик с указанным name. Для получения дополнительной информации см. EngineProfiler.
void remove_breakpoint(line: int, source: StringName) 🔗
Удаляет точку останова с заданными source и line.
void script_debug(language: ScriptLanguage, can_continue: bool = true, is_error_breakpoint: bool = false) 🔗
Запускает отладочную паузу в выполнении скрипта, при необходимости указывая, может ли программа продолжать работу на основе can_continue и была ли пауза вызвана точкой останова.
void send_message(message: String, data: Array) 🔗
Отправляет сообщение с заданным массивом message и data.
Экспериментальное: Этот метод может быть изменён или удалён в будущих версиях.
Устанавливает текущую глубину отладки.
void set_lines_left(lines: int) 🔗
Экспериментальное: Этот метод может быть изменён или удалён в будущих версиях.
Устанавливает текущие оставшиеся строки отладки.
void unregister_message_capture(name: StringName) 🔗
Отменяет регистрацию захвата сообщения с указанным name.
void unregister_profiler(name: StringName) 🔗
Отменяет регистрацию профилировщика с указанным name.