diff options
author | Juan Linietsky <reduzio@gmail.com> | 2015-08-04 09:47:32 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2015-08-04 09:47:32 -0300 |
commit | d1da2c29955c851d74037a5196168a0a90507f9a (patch) | |
tree | c51bb0c05da46a368fe712a5a494af591b9f1484 /modules/gdscript | |
parent | cbee679bd78c1b3317db1ea4e349f278576304a1 (diff) |
error debugger
shows the list of errors that happened during running the game, traces
can be analyzed
Diffstat (limited to 'modules/gdscript')
-rw-r--r-- | modules/gdscript/gd_script.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/modules/gdscript/gd_script.h b/modules/gdscript/gd_script.h index 1e1279d5f5..fe325ff71e 100644 --- a/modules/gdscript/gd_script.h +++ b/modules/gdscript/gd_script.h @@ -475,6 +475,19 @@ public: } + virtual Vector<StackInfo> debug_get_current_stack_info() { + if (Thread::get_main_ID()!=Thread::get_caller_ID()) + return Vector<StackInfo>(); + + Vector<StackInfo> csi; + csi.resize(_debug_call_stack_pos); + for(int i=0;i<_debug_call_stack_pos;i++) { + csi[_debug_call_stack_pos-i-1].line=_call_stack[i].line?*_call_stack[i].line:0; + csi[_debug_call_stack_pos-i-1].script=Ref<GDScript>(_call_stack[i].function->get_script()); + } + return csi; + } + struct { StringName _init; |