The Microsoft Visual Studio Debugger is a debugger that ships along with all versions of Microsoft Visual Studio. This debugger owes much of its feel and functionality to CodeView, a standalone, text-based debugger that shipped with Microsoft Visual C++ version 1.5 and earlier.
More advanced features of the most recent versions of this debugger include:
The main shortcoming of the Visual Studio Debugger is its inability to trace into kernel-mode code. However, this is possible using a free VisualDDK extension. Alternatively, kernel-mode debugging of Windows is generally performed by using WinDbg, KD, or SoftICE.
The Visual Studio Debugger also has no ability to debug Lambda-Expressions or LINQ. This is because it would take too much work for Microsoft to implement.[1][2][3] However, most developers working with Lambda expressions are able to visualize the data through the several memory windows or by storing the result into a variable.
Edit-and-continue is held by many developers[by whom?] as Microsoft's greatest asset given to developers. A program that is running in memory, that encounters a simple mistake, can be corrected without having to stop the current program or exit the debugger. This feature allows very common mistakes to be corrected easily and with great time savings over other solutions which require exiting the program, making the change, recompiling, and then navigating back through the running program to the previous location.