Last Updated: May 22, 2026
Debugging is the part of programming that takes the most time and gets the least training. A common approach is trial and error: sprinkle Console.WriteLine calls until something prints, then move on. C# and the .NET tooling can do much better than that. This chapter walks through the debugging tools built into Visual Studio, VS Code, and Rider, plus the production-grade tools to use when no debugger is attached.