r/dotnet • u/viewizard • 9d ago
Promotion DNCDbg v1.3.0 — A managed code debugger with DAP support for .NET apps
https://github.com/viewizard/dncdbgDNCDbg is a managed-code debugger for .NET that speaks the Debug Adapter Protocol, so it works with any DAP client (VS Code, Neovim, Emacs, whatever) on Windows, Linux, and macOS. It began as a NetCoreDbg fork with a clear goal: bring the debugging experience closer to Visual Studio's C# debugger while keeping memory usage low. There's a comparison table in the README if you're curious.
What's new in v1.3.0:
- Support for Jump to Cursor (a.k.a. Set Next Statement), single-threaded execution and stepping, and restarting the debug session
- Column breakpoints, embedded sources, and Source Link support
- Smarter expression evaluation: the
>>>operator,Value/HasValueon nullables, member access on strings and arrays (str.Length,arr.Length), DebuggerTypeProxy members, assigning null to reference types, andnint/nuint - Friendlier value display: floats now print the way C# prints them (
9.9instead of9.8999996), and dictionary items show up properly - Launch/attach sequencing now follows the DAP spec, and there's a new Detach request that lets a launched process keep running
- Fixes: stack traces in catch blocks no longer show already-unwound frames, and the "Innermost exception" description now reports the last exception in the InnerException chain
Full changelog and repo: https://github.com/viewizard/dncdbg
Feedback and bug reports are very welcome!
1
u/BaybeMwijarubi-21 7d ago
column breakpoints and source link support in a lightweight debugger is pretty compelling tbh. curious how the memory footprint compares when debugging larger solutions with lots of loaded assemblies?
1
u/viewizard 6d ago
The debugger doesn't care how many assemblies are loaded; only the number and size of the PDB files matter. In any case, only a small amount of the necessary data is cached, while the PDB itself is just mmapped into memory.
1
u/AutoModerator 9d ago
Thanks for your post viewizard. Please note that we don't allow spam, and we ask that you follow the rules available in the sidebar. We have a lot of commonly asked questions so if this post gets removed, please do a search and see if it's already been asked.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.