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.