Friday, May 30, 2008

Microsoft Visual Studio Debugger

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:
* Full symbol and source integration.
* Attaching and detaching to and from processes.
* Integrated debugging across programs written in both .NET and native Windows languages (calls from C# to C++, for example).
* Remote machine debugging.
* Full support for C++, including templates and the standard library
* Debugging ASP.NET Web Services.
* Standard as well as more advanced breakpoint features, including conditional, address, data breakpoints.
* Many ways of viewing program state and data, including multiple watch windows, threads, call stack, and modules. The way library and user data types are displayed can be configured (e.g., to show contents of a container class, rather than it's raw structure).
* Scriptability or the ability to control via a macro or scripting language. Any language which can talk to COM can be used.
* Edit and continue support, enabling source code change and recompilation without having to restart the program (32 bit applications only).
* Local and remote debugging of SQL stored procedures on supported versions of Microsoft SQL Server.
The main shortcoming of the Visual Studio Debugger is its inability to trace into kernel-mode code. Kernel-mode debugging of Windows is generally performed by using WinDbg, KD, or SoftICE.

No comments: