Inheritance #
- AudioServer
- CameraServer
- ClassDB
- DisplayServer
- EditorFileSystemDirectory
- EditorInterface
- EditorPaths
- EditorSelection
- EditorUndoRedoManager
- EditorVCSInterface
- Engine
- EngineDebugger
- FramebufferCacheRD
- GDExtensionManager
- Geometry2D
- Geometry3D
- IP
- Input
- InputMap
- JNISingleton
- JSONRPC
- JavaClassWrapper
- JavaScriptBridge
- MainLoop (1)
- Marshalls
- MovieWriter
- NativeMenu
- NavigationMeshGenerator
- NavigationServer2D
- NavigationServer3D
- Node (21)
- OS
- OpenXRExtensionWrapperExtension
- OpenXRInteractionProfileMetadata
- Performance
- PhysicsDirectBodyState2D (1)
- PhysicsDirectBodyState3D (1)
- PhysicsDirectSpaceState2D (1)
- PhysicsDirectSpaceState3D (1)
- PhysicsServer2D (1)
- PhysicsServer2DManager
- PhysicsServer3D (1)
- PhysicsServer3DManager
- PhysicsServer3DRendering
ServerHandler
- ProjectSettings
- RefCounted (121)
- RenderData (2)
- RenderSceneData (2)
- RenderingDevice
- RenderingServer
- ResourceLoader
- ResourceSaver
- ResourceUID
- ScriptLanguage (1)
- ShaderIncludeDB
- TextServerManager
- ThemeDB
- TileData
- Time
- TranslationServer
- TreeItem
- UndoRedo
- UniformSetCacheRD
- WorkerThreadPool
- XRServer
- XRVRS
Table of contents
-
func clear_breakpoints() -> void -
func debug(is_error_breakpoint: bool = false) -> void -
const func get_depth() -> int -
const func get_lines_left() -> int -
func has_capture(name: StringName) -> bool -
func has_profiler(name: StringName) -> bool -
func insert_breakpoint(source: StringName) -> void -
func is_active() -> bool -
const func is_breakpoint(source: StringName) -> bool -
func is_profiling(name: StringName) -> bool -
const func is_skipping_breakpoints() -> bool -
func line_poll() -> void -
func profiler_add_frame_data(data: Array) -> void -
func profiler_enable(arguments: Array = []) -> void -
func register_message_capture(callable: Callable) -> void -
func register_profiler(profiler: EngineProfiler) -> void -
func remove_breakpoint(source: StringName) -> void -
func script_debug(is_error_breakpoint: bool = false) -> void -
func send_message(data: Array) -> void -
func set_depth(depth: int) -> void -
func set_lines_left(lines: int) -> void -
func unregister_message_capture(name: StringName) -> void -
func unregister_profiler(name: StringName) -> void
EngineDebugger #
is_instantiable, core, not_builtin_classes, singleton
Exposes the internal debugger.
EngineDebugger handles the communication between the editor and the running game. It is active in the running game. Messages can be sent/received through it. It also manages the profilers.
Members #
Methods #
func clear_breakpoints() -> void#
Clears all breakpoints.
func debug(is_error_breakpoint: bool = false) -> void#
Starts a debug break in script execution, optionally specifying whether the program can continue based on can_continue and whether the break was due to a breakpoint.
const func get_depth() -> int#
Returns the current debug depth.
const func get_lines_left() -> int#
Returns the number of lines that remain.
func has_capture(name: StringName) -> bool#
Returns true if a capture with the given name is present otherwise false.
func has_profiler(name: StringName) -> bool#
Returns true if a profiler with the given name is present otherwise false.
func insert_breakpoint(source: StringName) -> void#
Inserts a new breakpoint with the given source and line.
func is_active() -> bool#
Returns true if the debugger is active otherwise false.
const func is_breakpoint(source: StringName) -> bool#
Returns true if the given source and line represent an existing breakpoint.
func is_profiling(name: StringName) -> bool#
Returns true if a profiler with the given name is present and active otherwise false.
const func is_skipping_breakpoints() -> bool#
Returns true if the debugger is skipping breakpoints otherwise false.
func line_poll() -> void#
Forces a processing loop of debugger events. The purpose of this method is just processing events every now and then when the script might get too busy, so that bugs like infinite loops can be caught.
func profiler_add_frame_data(data: Array) -> void#
Calls the add callable of the profiler with given name and data.
func profiler_enable(arguments: Array = []) -> void#
Calls the toggle callable of the profiler with given name and arguments. Enables/Disables the same profiler depending on enable argument.
func register_message_capture(callable: Callable) -> void#
Registers a message capture with given name. If name is "my_message" then messages starting with "my_message:" will be called with the given callable.
The callable must accept a message string and a data array as argument. The callable should return true if the message is recognized.
Note: The callable will receive the message with the prefix stripped, unlike EditorDebuggerPlugin._capture. See the EditorDebuggerPlugin description for an example.
func register_profiler(profiler: EngineProfiler) -> void#
Registers a profiler with the given name. See EngineProfiler for more information.
func remove_breakpoint(source: StringName) -> void#
Removes a breakpoint with the given source and line.
func script_debug(is_error_breakpoint: bool = false) -> void#
Starts a debug break in script execution, optionally specifying whether the program can continue based on can_continue and whether the break was due to a breakpoint.
func send_message(data: Array) -> void#
Sends a message with given message and data array.
func set_depth(depth: int) -> void#
Sets the current debugging depth.
func set_lines_left(lines: int) -> void#
Sets the current debugging lines that remain.
func unregister_message_capture(name: StringName) -> void#
Unregisters the message capture with given name.
func unregister_profiler(name: StringName) -> void#
Unregisters a profiler with given name.