mirror of
https://github.com/godotengine/godot.git
synced 2025-10-20 00:13:30 +00:00
GDScript: Update get_stack()
, print_stack()
, and print_debug()
This commit is contained in:
parent
28089c40c1
commit
2bacfc8b59
4 changed files with 48 additions and 31 deletions
|
@ -340,13 +340,9 @@ struct GDScriptUtilityFunctionsDefinitions {
|
|||
s += p_args[i]->operator String();
|
||||
}
|
||||
|
||||
if (Thread::get_caller_id() == Thread::get_main_id()) {
|
||||
ScriptLanguage *script = GDScriptLanguage::get_singleton();
|
||||
if (script->debug_get_stack_level_count() > 0) {
|
||||
s += "\n At: " + script->debug_get_stack_level_source(0) + ":" + itos(script->debug_get_stack_level_line(0)) + ":" + script->debug_get_stack_level_function(0) + "()";
|
||||
}
|
||||
} else {
|
||||
s += "\n At: Cannot retrieve debug info outside the main thread. Thread ID: " + itos(Thread::get_caller_id());
|
||||
ScriptLanguage *script = GDScriptLanguage::get_singleton();
|
||||
if (script->debug_get_stack_level_count() > 0) {
|
||||
s += "\n At: " + script->debug_get_stack_level_source(0) + ":" + itos(script->debug_get_stack_level_line(0)) + ":" + script->debug_get_stack_level_function(0) + "()";
|
||||
}
|
||||
|
||||
print_line(s);
|
||||
|
@ -356,11 +352,6 @@ struct GDScriptUtilityFunctionsDefinitions {
|
|||
static inline void print_stack(Variant *r_ret, const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
||||
DEBUG_VALIDATE_ARG_COUNT(0, 0);
|
||||
|
||||
if (Thread::get_caller_id() != Thread::get_main_id()) {
|
||||
print_line("Cannot retrieve debug info outside the main thread. Thread ID: " + itos(Thread::get_caller_id()));
|
||||
return;
|
||||
}
|
||||
|
||||
ScriptLanguage *script = GDScriptLanguage::get_singleton();
|
||||
for (int i = 0; i < script->debug_get_stack_level_count(); i++) {
|
||||
print_line("Frame " + itos(i) + " - " + script->debug_get_stack_level_source(i) + ":" + itos(script->debug_get_stack_level_line(i)) + " in function '" + script->debug_get_stack_level_function(i) + "'");
|
||||
|
@ -371,11 +362,6 @@ struct GDScriptUtilityFunctionsDefinitions {
|
|||
static inline void get_stack(Variant *r_ret, const Variant **p_args, int p_arg_count, Callable::CallError &r_error) {
|
||||
DEBUG_VALIDATE_ARG_COUNT(0, 0);
|
||||
|
||||
if (Thread::get_caller_id() != Thread::get_main_id()) {
|
||||
*r_ret = TypedArray<Dictionary>();
|
||||
return;
|
||||
}
|
||||
|
||||
ScriptLanguage *script = GDScriptLanguage::get_singleton();
|
||||
TypedArray<Dictionary> ret;
|
||||
for (int i = 0; i < script->debug_get_stack_level_count(); i++) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue