Ability to print and log script backtraces

Co-authored-by: Mikael Hermansson <mikael@hermansson.io>
This commit is contained in:
reduz 2025-03-31 21:39:43 +02:00 committed by Mikael Hermansson
parent f704113abe
commit d1dcb40d56
32 changed files with 813 additions and 95 deletions

View file

@ -535,6 +535,17 @@ void ScriptServer::save_global_classes() {
ProjectSettings::get_singleton()->store_global_class_list(gcarr);
}
Vector<Ref<ScriptBacktrace>> ScriptServer::capture_script_backtraces(bool p_include_variables) {
int language_count = ScriptServer::get_language_count();
Vector<Ref<ScriptBacktrace>> result;
result.resize(language_count);
for (int i = 0; i < language_count; i++) {
ScriptLanguage *language = ScriptServer::get_language(i);
result.write[i].instantiate(language, p_include_variables);
}
return result;
}
////////////////////
ScriptCodeCompletionCache *ScriptCodeCompletionCache::singleton = nullptr;