What’s New for the Debugger in Visual Studio 2013
The Call Stack window shows the methods that call asynchronous functions under [Async Call] information frames.
The Tasks window (formerly known as the Parallel Tasks window) displays the new model as tasks, along with enhanced information about the tasks. See Using the Tasks Window.
Enhanced exception reporting for C++ Windows Store Apps The Visual Studio debugger now supports capturing stack traces for C++ exceptions when they occur in Windows Runtime components. The debugger can display those captured stack traces whenever they are available on exception objects that are derived from Platform::Exception.
The exception dialog box displayed by the debugger at a first-chance exception lists the stack trace at the point when the exception occurred.
You can inspect future Windows Runtime exceptions in a debugging session by adding the $exceptiontrace psuedovariable to a Watch window. If an exception occurs in the current thread, you can expand the entry in the Watch window to see the stack track trace and navigate to source code that caused the exception. You also can watch $exceptiontrace by choosing the Add exception stack trace to watch link in the exception dialog box.
For more information, see this post on the Visual Studio ALM + Team Foundation Server Blog.
Just My Code is on by default in Visual Studio 2013. To view all code on the call stack, choose Options and Settings on the Debug menu, and then clear the Enable Just My Code checkbox. Note that this setting applies to all programming languages that support Just My Code.
You can now view the return values of methods in the Autos window. This is especially useful for embedded methods (methods that are passed as parameters to another function):
One of the issues that frequently affects .NET applications running in production environments is problems with their memory use which can impact both the application and potentially the entire machine. Visual Studio 2013 expands its dump file analysis tools to help you find memory leaks, inefficient memory use, and unnecessary allocations in .NET Framework web, database, and desktop applications.
For more information about the .NET memory analysis tool, see this post on the Visual Studio ALM + Team Foundation Server Blog. For more information about dump files, see Use Dump Files to Debug App Crashes and Hangs in Visual Studio.
You can use the SOS.dll (SOS Debugging Extension) and other Debugging Tools for Windows in Visual Studio IDE. You must install the debugging tools that are part of the Windows Driver Kit (WDK). See Windows 8.1 Preview: Download kits, bits, and tools.
Visualize the call stack while debugging in Visual Studio Ultimate by creating code maps. You can also use code maps to navigate around your code. See Visualize and Debug Code Execution with Call Stacks in Visual Studio.
Diagnose apps in deployment
Monitor IIS web apps locally for exception and performance events with Microsoft Monitoring Agent, either alone or with System Center 2012. You can record these events to an IntelliTrace log so that you can investigate these problems further in Visual Studio Ultimate and go to the deployed code when you start debugging from specific events.
Record diagnostic events from SharePoint 2010 and SharePoint 2013 applications in deployment with Microsoft Monitoring Agent.
You can save user profile events, Unified Logging System (ULS) events, and IntelliTrace events to an IntelliTrace log so that you can investigate these problems further in Visual Studio Ultimate and start debugging from specific events with IntelliTrace.