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.

EngineDebugger

Eredita: Object

Espone il debugger interno.

Descrizione

L'EngineDebugger gestisce la comunicazione tra l'editor e il gioco in esecuzione. È attivo nel gioco in esecuzione. I messaggi possono essere inviati e ricevuti tramite esso. Gestisce anche i profiler.

Metodi

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)


Descrizioni dei metodi

void clear_breakpoints() 🔗

Cancella tutti i punti d'interruzione.


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

Avvia un'interruzione di debug nell'esecuzione dello script, specificando facoltativamente se il programma può continuare in base a can_continue e se l'interruzione è dovuta a un punto d'interruzione.


int get_depth() const 🔗

Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.

Restituisce la profondità di debug attuale.


int get_lines_left() const 🔗

Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.

Restituisce il numero di righe che rimangono.


bool has_capture(name: StringName) 🔗

Restituisce true se una cattura con il nome fornito è presente altrimenti false.


bool has_profiler(name: StringName) 🔗

Restituisce true se un profiler con il nome fornito è presente altrimenti false.


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

Inserisce un nuovo punto d'interruzione con la sorgente (source) e righe (line) fornite.


bool is_active() 🔗

Restituisce true se il debugger è attivo altrimenti false.


bool is_breakpoint(line: int, source: StringName) const 🔗

Restituisce true se la sorgente (source) e riga (line) rappresentano un punto d'interruzione esistente.


bool is_profiling(name: StringName) 🔗

Restituisce true se un profiler con il nome fornito è presente e attivo altrimenti false.


bool is_skipping_breakpoints() const 🔗

Restituisce true se il debugger sta saltando i punti d'interruzione altrimenti false.


void line_poll() 🔗

Forza un ciclo di elaborazione degli eventi del debugger. Lo scopo di questo metodo è di elaborare gli eventi ogni tanto quando lo script potrebbe essere troppo occupato, in modo che sia possibile individuare bug come i cicli infiniti.


void profiler_add_frame_data(name: StringName, data: Array) 🔗

Chiama il chiamabile add del profiler con il nome name e data specificati.


void profiler_enable(name: StringName, enable: bool, arguments: Array = []) 🔗

Chiama il chiamabile toggle del profiler con il nome name e arguments specificati. Abilita/disabilita lo stesso profiler in base all'argomento enable.


void register_message_capture(name: StringName, callable: Callable) 🔗

Registra una cattura di messaggio con il nome name. Se name è "my_message", i messaggi che iniziano con "my_message:" saranno chiamati con il chiamabile fornito.

Il chiamabile deve accettare una stringa di messaggio e un array di dati come argomenti. Il chiamabile deve restituire true se il messaggio viene riconosciuto.

Nota: Il chiamabile riceverà il messaggio con il prefisso rimosso, a differenza di EditorDebuggerPlugin._capture(). Consulta la descrizione di EditorDebuggerPlugin per un esempio.


void register_profiler(name: StringName, profiler: EngineProfiler) 🔗

Registra un profiler con il nome name specificato. Vedi EngineProfiler per ulteriori informazioni.


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

Rimuove un punto d'interruzione con la sorgente (source) e riga (line) fornite.


void script_debug(language: ScriptLanguage, can_continue: bool = true, is_error_breakpoint: bool = false) 🔗

Avvia un'interruzione di debug nell'esecuzione dello script, specificando facoltativamente se il programma può continuare in base a can_continue e se l'interruzione è dovuta a un punto d'interruzione.


void send_message(message: String, data: Array) 🔗

Invia un messaggio con la stringa message e l'array data.


void set_depth(depth: int) 🔗

Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.

Imposta la profondità di debug attuale.


void set_lines_left(lines: int) 🔗

Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.

Imposta le righe di debug attuali che rimangono.


void unregister_message_capture(name: StringName) 🔗

Annulla la registrazione della cattura di messaggio con il nome name.


void unregister_profiler(name: StringName) 🔗

Annulla la registrazione di un profiler con il nome name.