Problem with debugging [Tool]'s with VS code

Godot Version

godot-4

Question

i have been debugging [Tool]’s written in C# for over a year now with no problem but now suddenly it stopped working and I’ve been pulling my hair out for days trying to figure out why

"name": "Launch Editor",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            "program": "${env:GODOT4}",
            "cwd": "${workspaceFolder}",
            "console": "internalConsole",
            "stopAtEntry": false,
            "justMyCode": true,
            "args": [
                "--path",
                "${workspaceRoot}",
                "--editor"
            ]

this is the configuration I’ve been using in launch.json, it would launch the editor and i was able to debug the [Tool] scripts as it was running in the editor.

i have also been using

"name": "Attach to Process",
        "type": "coreclr",
        "request": "attach",
        "justMyCode": true,
        "processName": "Godot_v4.4-stable_mono_win64.exe"

to attach to an existing editor and debug the already running [Tool]’s

for the build task i’m doing

{
	"version": "2.0.0",
	"tasks": [
	    {
		   "label": "build",
		   "command": "dotnet",
		   "type": "shell",
		   "args": [
			  "build",
			  "/property:GenerateFullPaths=true",
			  "/consoleloggerparameters:NoSummary"
		   ],
		   "group": {
			  "kind": "build",
			  "isDefault": true
		   },
		   "presentation": {
			  "reveal": "silent"
		   },
		   "problemMatcher": "$msCompile"
	    }
	]
 }

This worked perfectly up until a few days ago, now whenever i try to do either of these it just silently crashes the editor with no errors. I have tried reinstalling GODOT/.NET SDK/VS CODE and also switching versions but i keep getting the same problem.

The only messages i get in the terminal before crash are


Godot Engine v4.6.2.stable.mono.official.71f334935 - https://godotengine.org
D3D12 12_0 - Forward+ - Using Device #0: NVIDIA - NVIDIA GeForce RTX 5080

Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.16\System.Private.CoreLib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'D:\Software\Godot\Godot_v4.6.2-stable_mono_win64\GodotSharp\Api\Debug\GodotPlugins.dll'. Symbols loaded.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.16\System.Runtime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.16\System.Runtime.InteropServices.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'D:\Software\Godot\Godot_v4.6.2-stable_mono_win64\GodotSharp\Api\Debug\GodotSharp.dll'. Symbols loaded.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.16\System.Collections.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.16\System.Console.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.16\System.Runtime.Loader.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'D:\Software\Godot\Godot_v4.6.2-stable_mono_win64\GodotSharp\Api\Debug\GodotSharpEditor.dll'. Symbols loaded.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.16\System.Threading.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.16\System.Collections.Concurrent.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.16\System.Diagnostics.TraceSource.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'Test Debug'. Symbols loaded.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.16\System.Linq.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Godot_v4.6.2-stable_mono_win64.exe (14948): Loaded 'GodotTools'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.

I cant find any data on this specific subject, please if anybody knows how to debug [Tool]’s with VS code while they are running in the editor or had some similar problems please help.

I looked through the event viewer on windows and i get these errors for when the editor crashes on trying to attach from VS code

Faulting application name: vsdbg-ui.exe, version: 18.7.10427.2, time stamp: 0x69efb19a
Faulting module name: ntdll.dll, version: 10.0.19041.6691, time stamp: 0x5f5d86e3
Exception code: 0xc0000374
Fault offset: 0x00000000000ff4e9
Faulting process id: 0x6924
Faulting application start time: 0x01dce9354bdbcb19
Faulting application path: c:\Users\Samosa\.vscode\extensions\ms-dotnettools.csharp-2.140.8-win32-x64.debugger\x86_64\vsdbg-ui.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll

anybody know of any problems between vsdbg-ui.exe and godot ?

I did a full fresh install on a completely different PC that never had Godot or VS code or any .NET SDK on it and i get the exact same error. Which leads me to believe its somehow Windows fault.

I’m running into the exact same issue on Windows 11 with Godot 4.6.3. Initially, the editor would crash immediately upon launch. I tried deleting the .godot, .sln, and .csproj files to regenerate everything from scratch, and after experimenting with several launch.json variants, I finally managed to get the editor to open. However, the breakpoints I’ve set in my plugin code are still not working. They appear hollow or white, displaying an error message like ‘Breakpoint not handled by the debugger’.

Dude, I think I found the solution. All you need to do is downgrade the C# extension version in VS Code to the previous one.

Let me explain how I discovered this. I located the ‘C:\Windows\SYSTEM32\ntdll.dll’ file from the error message you shared—‘Faulting application name: vsdbg-ui.exe… Faulting module path: C:\Windows\SYSTEM32\ntdll.dll’—in my file explorer. Interestingly, this file was modified on my computer on May 14 2026, which is just before you started experiencing this issue. Anyway, I showed your error message to the AI, and based on my previous interactions (I’ve been trying to fix this issue until 3 AM for the past two days), it suggested downgrading the C# extension version in VS Code. I checked my C# extension version and saw that it was also updated about two weeks ago. I downgraded the C# extension from 2.140 to 2.130, and my problem was solved. If I hadn’t found someone else experiencing the exact same issue during the same period, I probably would have never reached a solution. I had received the exact same error messages as you, but I hadn’t paid much attention to them.

Legendary, this is the answer.

The last update of the C# extension in VS code broke debugging.

Installed version 2.130.5 and not its back to working as it use to :clap: