Godot Version
Godot 4.5.1.stable.mono
Question
Sometimes when I’m using the debugger, when I try to evaluate an expression it just doesn’t work. Either it kicks me back to the stack trace tab without doing anything, or it continues execution of the code for some reason. It’s not related to what expression I’m evaluating, even something like “1+2” will do this.
Am I missing something, or is the evaluator just buggy?
Missing something, though you haven’t provided enough detail to figure out what that may be.
I think I’ve found what causes it, it seems to happen specifically in static functions. Can recreate it as follows:
Create a new project
Add a new node and attach a script to it
Add a static function to the script and call it from _ready()
Put a breakpoint in the static function and run the scene
In the debugger, try evaluating anything in the evaluator
I replicated the behavior you are seeing with this code:
extends Node2D
static func test_func():
var test1 = 4
test1 = 5
print(test1)
func _ready() → void:
test_func()
However, I am not convinced this is a bug. Yes, evaluating an expression causes code execution to resume, but it appears expression evaluation is outside the debug flow.
hsandt
March 5, 2026, 10:43pm
5
Ah, I just found this issue today:
opened 09:24PM - 20 Jun 25 UTC
bug
topic:editor
### Tested versions
Reproducible in 4.5.beta1
Not very relevant in earlier vers… ions (this Issue continues #103979, which was merged into 4.5.beta1).
### System information
Windows 11 - Godot v4.5.beta1
### Issue description
When the debugger is paused inside a static function, the evaluator does not work **at all**,
instead, evaluating expressions causes the following behavior:
(1) The evaluator ignores its input and does not evaluate.
(2) Additionally, the debugger itself immediately continues running as if the user pressed "Continue".
Behavior (1) is an important feature I believe should exist, but behavior (2) is especially concerning as I have also observed it when triggering the bug that this PR fixed (happened to me in Godot 4.4.1.stable) meaning that possibly any bug other users will encounter with the evaluator might have unintended side effects.
### Steps to reproduce
1. Write a static function (any static function will do).
2. Set a breakpoint **inside** the function.
3. Evaluate **any** expression with the debugger evaluator.
### Minimal reproduction project (MRP)
[godot-evaluator-static-bugs.zip](https://github.com/user-attachments/files/20842780/godot-evaluator-static-bugs.zip)
so I suspect this is specific to static functions.