EngineDebugger

Наследует: Object

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

Описание

EngineDebugger управляет связью между редактором и запущенной игрой. Он активен в запущенной игре. Через него можно отправлять/получать сообщения. Он также управляет профайлерами.

Методы

void

clear_breakpoints()

void

debug(can_continue: bool = true, is_error_breakpoint: bool = false)

int

get_depth() const

int

get_lines_left() const

bool

has_capture(name: StringName)

bool

has_profiler(name: StringName)

void

insert_breakpoint(line: int, source: StringName)

bool

is_active()

bool

is_breakpoint(line: int, source: StringName) const

bool

is_profiling(name: StringName)

bool

is_skipping_breakpoints() const

void

line_poll()

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

set_depth(depth: int)

void

set_lines_left(lines: int)

void

unregister_message_capture(name: StringName)

void

unregister_profiler(name: StringName)


Описания метода

void clear_breakpoints() 🔗

Очищает все точки останова.


void debug(can_continue: bool = true, is_error_breakpoint: bool = false) 🔗

Запускает отладочную паузу в выполнении скрипта, при необходимости указывая, может ли программа продолжать работу на основе can_continue и была ли пауза вызвана точкой останова.


int get_depth() const 🔗

Экспериментальное: Этот метод может быть изменён или удалён в будущих версиях.

Возвращает текущую глубину отладки.


int get_lines_left() const 🔗

Экспериментальное: Этот метод может быть изменён или удалён в будущих версиях.

Возвращает количество оставшихся строк.


bool has_capture(name: StringName) 🔗

Возвращает true, если захват (capture) с указанным именем присутствует, в противном случае false.


bool has_profiler(name: StringName) 🔗

Возвращает true, если профайлер с указанным именем присутствует, в противном случае false.


void insert_breakpoint(line: int, source: StringName) 🔗

Вставляет новую точку останова с заданными source и line.


bool is_active() 🔗

Возвращает 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_depth(depth: int) 🔗

Экспериментальное: Этот метод может быть изменён или удалён в будущих версиях.

Устанавливает текущую глубину отладки.


void set_lines_left(lines: int) 🔗

Экспериментальное: Этот метод может быть изменён или удалён в будущих версиях.

Устанавливает текущие оставшиеся строки отладки.


void unregister_message_capture(name: StringName) 🔗

Отменяет регистрацию захвата сообщения с указанным name.


void unregister_profiler(name: StringName) 🔗

Отменяет регистрацию профилировщика с указанным name.