When eval receives invalid GDScript, script.reload() triggers a debugger break that halts the game loop permanently (especially with LocalDebugger which doesn't respect skip_breakpoints). Two-layer defense: 1. On startup, attempt to disable debugger breaks via EngineDebugger.send_message (works for RemoteDebugger) 2. When debugger is unsafe (LocalDebugger), validate eval code in an external headless Godot process before executing it in-process
168 KiB
168 KiB