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 |
|
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) |
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.
Sperimentale: Questo metodo potrebbe essere cambiato o rimosso in versioni future.
Restituisce la profondità di debug attuale.
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.
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.
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.