Table of Contents

Class EngineDebugger

Namespace
Godot
Assembly
GodotSharp.dll

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.

public static class EngineDebugger
Inheritance
EngineDebugger
Inherited Members

Properties

Singleton

public static EngineDebuggerInstance Singleton { get; }

Property Value

EngineDebuggerInstance

Methods

ClearBreakpoints()

Clears all breakpoints.

public static void ClearBreakpoints()

Debug(bool, bool)

Starts a debug break in script execution, optionally specifying whether the program can continue based on canContinue and whether the break was due to a breakpoint.

public static void Debug(bool canContinue = true, bool isErrorBreakpoint = false)

Parameters

canContinue bool
isErrorBreakpoint bool

GetDepth()

Returns the current debug depth.

public static int GetDepth()

Returns

int

GetLinesLeft()

Returns the number of lines that remain.

public static int GetLinesLeft()

Returns

int

HasCapture(StringName)

Returns true if a capture with the given name is present otherwise false.

public static bool HasCapture(StringName name)

Parameters

name StringName

Returns

bool

HasProfiler(StringName)

Returns true if a profiler with the given name is present otherwise false.

public static bool HasProfiler(StringName name)

Parameters

name StringName

Returns

bool

InsertBreakpoint(int, StringName)

Inserts a new breakpoint with the given source and line.

public static void InsertBreakpoint(int line, StringName source)

Parameters

line int
source StringName

IsActive()

Returns true if the debugger is active otherwise false.

public static bool IsActive()

Returns

bool

IsBreakpoint(int, StringName)

Returns true if the given source and line represent an existing breakpoint.

public static bool IsBreakpoint(int line, StringName source)

Parameters

line int
source StringName

Returns

bool

IsProfiling(StringName)

Returns true if a profiler with the given name is present and active otherwise false.

public static bool IsProfiling(StringName name)

Parameters

name StringName

Returns

bool

IsSkippingBreakpoints()

Returns true if the debugger is skipping breakpoints otherwise false.

public static bool IsSkippingBreakpoints()

Returns

bool

LinePoll()

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

public static void LinePoll()

ProfilerAddFrameData(StringName, Array)

Calls the add callable of the profiler with given name and data.

public static void ProfilerAddFrameData(StringName name, Array data)

Parameters

name StringName
data Array

ProfilerEnable(StringName, bool, Array)

Calls the toggle callable of the profiler with given name and arguments. Enables/Disables the same profiler depending on enable argument.

public static void ProfilerEnable(StringName name, bool enable, Array arguments = null)

Parameters

name StringName
enable bool
arguments Array

RegisterMessageCapture(StringName, Callable)

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.

Callable must accept a message string and a data array as argument. If the message and data are valid then callable must return true otherwise false.

public static void RegisterMessageCapture(StringName name, Callable callable)

Parameters

name StringName
callable Callable

RegisterProfiler(StringName, EngineProfiler)

Registers a profiler with the given name. See EngineProfiler for more information.

public static void RegisterProfiler(StringName name, EngineProfiler profiler)

Parameters

name StringName
profiler EngineProfiler

RemoveBreakpoint(int, StringName)

Removes a breakpoint with the given source and line.

public static void RemoveBreakpoint(int line, StringName source)

Parameters

line int
source StringName

ScriptDebug(ScriptLanguage, bool, bool)

Starts a debug break in script execution, optionally specifying whether the program can continue based on canContinue and whether the break was due to a breakpoint.

public static void ScriptDebug(ScriptLanguage language, bool canContinue = true, bool isErrorBreakpoint = false)

Parameters

language ScriptLanguage
canContinue bool
isErrorBreakpoint bool

SendMessage(string, Array)

Sends a message with given message and data array.

public static void SendMessage(string message, Array data)

Parameters

message string
data Array

SetDepth(int)

Sets the current debugging depth.

public static void SetDepth(int depth)

Parameters

depth int

SetLinesLeft(int)

Sets the current debugging lines that remain.

public static void SetLinesLeft(int lines)

Parameters

lines int

UnregisterMessageCapture(StringName)

Unregisters the message capture with given name.

public static void UnregisterMessageCapture(StringName name)

Parameters

name StringName

UnregisterProfiler(StringName)

Unregisters a profiler with given name.

public static void UnregisterProfiler(StringName name)

Parameters

name StringName