This documentation is archived and is not being maintained.

What's New in Diagnostics Features of Visual Studio 2010

Visual Studio 2010

Visual Studio 2010 provides enhancements to the debugger, IntelliTrace, code analysis, the profiler, and Test Impact Analysis. This topic provides information about these enhancements and links to content that provide additional information.


Supporting Content

Introducing IntelliTrace: Debugging with IntelliTrace, available in Microsoft Visual Studio 2010 Ultimate, provides an enhanced picture of your application compared with traditional debuggers. Traditional debuggers show you the state of your application at the current time with limited information about events that occurred in the past. You must either infer events that occurred in the past, based on the state of your application at the current time, or restart the application to re-create past events. By using IntelliTrace, you can step out of live debugging and can navigate through the IntelliTrace recording. By doing this, you can see events that occurred in the past and the context in which they occurred. You can also return to live debugging at any time when you are done navigating the IntelliTrace recording. This reduces the number of restarts that are required to debug your application and the possibility that an error will fail to reproduce when you rerun the application.

Debugger Enhancements: Visual Studio 2010 provides many small enhancements that can help make you more productive when you debug issues in your application. These enhancements include breakpoint enhancements, enhanced data tips, enhancements to symbol loading, WPF debugging enhancements, improved Threads window, and more. These new features enable the following scenarios:

  • As a tester, if you use the debugger to help isolate a code defect, you can define pinnable data tips and breakpoint labels. You can export those data tips and labels, attaching them to the work item so the developer can import them, run to that breakpoint, and see the values to which you want to call his attention.

  • As a developer, you can now load only the symbols that you need, either by specifying the symbols to load or by specifying the files for which you want to exclude symbols. By doing this, you can reduce the time that it takes to run your application in the debugger.

Code Analysis Enhancements: You can now use code analysis rule sets to target specific issues and conditions in managed code. For example, you can use built-in rule sets to focus on correctness or security issues. And you can create custom rule sets that select the warnings that target your own code analysis priorities.

New code analysis warnings target the .NET Framework 4 security model and also provide analysis of data flow within a procedure.

Profiling Tools Enhancements: The Visual Studio 2010 profiling tools introduce new functionality that can help you get started and then dive deeply into diagnosing performance issues.

  • As you begin your performance investigation, performance rules can take you to specific areas of your code that might be an issue, and can suggest profiling modes that provide performance data that are appropriate to your application.

  • The remodeled Summary View and new Function Details View present profiling data in graphical and tabular displays that are easy to understand.

  • For analyzing the effect of memory use on multi-threaded application performance, new memory allocation, resource contention, and concurrency profiling modes present rich data about thread activity and interaction.

  • Analyzing the effect of database calls in multi-tiered application is enhanced with the tier interaction profiling mode.

  • Profiling on Windows High Performance Computing (HPC) server clusters is enabled with new deployment technologies.

Introducing Test Impact Analysis: Understanding the effect of code changes on existing tests is crucial to both developers and testers.

  • As a developer, testing your changes before you check them in to a shared branch should be a best practice.

  • As a tester, knowing which tests in your test suite must be modified or re-run in response to code changes can mean the difference between wasting and efficiently using your time.

For both developers and testers, the new Test Impact Analysis feature provides important and timely information about the effect of code changes on existing tests. Test Impact Analysis is integrated in Visual Studio Ultimate, Team Foundation Build, and Test Manager.

Identifying Code Change Impact on Tests