ScriptBacktrace (original) (raw)
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.
Checking the stable version of the documentation...
Inherits: RefCounted < Object
A captured backtrace of a specific script language.
Description
ScriptBacktrace holds an already captured backtrace of a specific script language, such as GDScript or C#, which are captured using Engine.capture_script_backtraces().
See ProjectSettings.debug/settings/gdscript/always_track_call_stacks and ProjectSettings.debug/settings/gdscript/always_track_local_variables for ways of controlling the contents of this class.
Methods
String | format(indent_all: int = 0, indent_frames: int = 4) const |
---|---|
int | get_frame_count() const |
String | get_frame_file(index: int) const |
String | get_frame_function(index: int) const |
int | get_frame_line(index: int) const |
int | get_global_variable_count() const |
String | get_global_variable_name(variable_index: int) const |
Variant | get_global_variable_value(variable_index: int) const |
String | get_language_name() const |
int | get_local_variable_count(frame_index: int) const |
String | get_local_variable_name(frame_index: int, variable_index: int) const |
Variant | get_local_variable_value(frame_index: int, variable_index: int) const |
int | get_member_variable_count(frame_index: int) const |
String | get_member_variable_name(frame_index: int, variable_index: int) const |
Variant | get_member_variable_value(frame_index: int, variable_index: int) const |
bool | is_empty() const |
Method Descriptions
String format(indent_all: int = 0, indent_frames: int = 4) const 🔗
Converts the backtrace to a String, where the entire string will be indented by indent_all
number of spaces, and the individual stack frames will be additionally indented by indent_frames
number of spaces.
Note: Calling Object.to_string() on a ScriptBacktrace will produce the same output as calling format() with all parameters left at their default values.
Returns the number of stack frames in the backtrace.
String get_frame_file(index: int) const 🔗
Returns the file name of the call site represented by the stack frame at the specified index.
String get_frame_function(index: int) const 🔗
Returns the name of the function called at the stack frame at the specified index.
int get_frame_line(index: int) const 🔗
Returns the line number of the call site represented by the stack frame at the specified index.
int get_global_variable_count() const 🔗
Returns the number of global variables (e.g. autoload singletons) in the backtrace.
Note: This will be non-zero only if the include_variables
parameter was true
when capturing the backtrace with Engine.capture_script_backtraces().
String get_global_variable_name(variable_index: int) const 🔗
Returns the name of the global variable at the specified index.
Variant get_global_variable_value(variable_index: int) const 🔗
Returns the value of the global variable at the specified index.
Warning: With GDScript backtraces, the returned Variant will be the variable's actual value, including any object references. This means that storing the returned Variant will prevent any such object from being deallocated, so it's generally recommended not to do so.
String get_language_name() const 🔗
Returns the name of the script language that this backtrace was captured from.
int get_local_variable_count(frame_index: int) const 🔗
Returns the number of local variables in the stack frame at the specified index.
Note: This will be non-zero only if the include_variables
parameter was true
when capturing the backtrace with Engine.capture_script_backtraces().
String get_local_variable_name(frame_index: int, variable_index: int) const 🔗
Returns the name of the local variable at the specified variable_index
in the stack frame at the specified frame_index
.
Variant get_local_variable_value(frame_index: int, variable_index: int) const 🔗
Returns the value of the local variable at the specified variable_index
in the stack frame at the specified frame_index
.
Warning: With GDScript backtraces, the returned Variant will be the variable's actual value, including any object references. This means that storing the returned Variant will prevent any such object from being deallocated, so it's generally recommended not to do so.
int get_member_variable_count(frame_index: int) const 🔗
Returns the number of member variables in the stack frame at the specified index.
Note: This will be non-zero only if the include_variables
parameter was true
when capturing the backtrace with Engine.capture_script_backtraces().
String get_member_variable_name(frame_index: int, variable_index: int) const 🔗
Returns the name of the member variable at the specified variable_index
in the stack frame at the specified frame_index
.
Variant get_member_variable_value(frame_index: int, variable_index: int) const 🔗
Returns the value of the member variable at the specified variable_index
in the stack frame at the specified frame_index
.
Warning: With GDScript backtraces, the returned Variant will be the variable's actual value, including any object references. This means that storing the returned Variant will prevent any such object from being deallocated, so it's generally recommended not to do so.
Returns true
if the backtrace has no stack frames.