Improving Quality with Visual Studio Diagnostic Tools
What is code quality? Correctness, performance, maintainability, and even elegance are all involved in creating great code. However you define it, Visual Studio diagnostic tools can help you and your team to develop and sustain high standards of code excellence.
Requirements
-
Some of the tools and features that are described in this section are available only in specific editions of Visual Studio—they aren’t universally available in Visual Studio. We list the specific edition requirements in the documentation for these tools and features.
In the following table, you can find descriptions of common tasks that support this scenario and links to more information about how you can successfully complete those tasks.
|
What's New in Developer Quality and Diagnostic Tools in Visual Studio 2013 |
Learn about new tools and added features in Visual Studio 2013s. |
|
Debug your app by recording code execution with IntelliTrace |
IntelliTrace enhances the live debugging experience by adding a history of events and function calls. By using the stand-alone data collector, you can also collect historical data on remote machines, such as ASP.NET production servers. |
|
Test Explorer makes it easy to integrate unit tests in your development practice. You can use the Microsoft unit test framework or one of several third-party and open source frameworks. |
|
|
Static code analysis tools find design, usage, maintainablity, and style issues in C++ and managed code. Many of these issues can lead to bugs that are hard to reproduce in standard testing environment. |
|
|
The Visual Studio Profiling Tools let developers measure, evaluate, and target performance-related issues in their code. You can analyze performance issues related to timing, memory, resource contention, and database interaction. |
|
|
Using the Concurrency Visualizer, you can examine how your multithreaded app performs. The views in the Concurrency Visualizer provide graphical, tabular, and textual data that shows the temporal relationships between the threads in your program and the system as a whole. You can use the Concurrency Visualizer to locate performance bottlenecks, CPU underutilization, thread contention, cross-core thread migration, synchronization delays, DirectX activity, areas of overlapped I/O, and other information. |
|
|
Code metrics is a set of software measures that provide developers better insight into the code they are developing. The metrics include a maintainability index for functions and classes, cyclomatic complexity of functions, the inheritance depth of classes, and the amount of coupling among classes. |
|
|
The code clone tool searches for duplicate or highly similar code in Visual C# and Visual Basic projects throughout your Visual Studio solution. You can often refactor the code to eliminate the duplication for a more maintainable solution. |
|
|
PreEmptive Analytics for TFS CE helps you to integrate feedback-driven development processes into your development workflow. Your applications automatically send back exception report data to the PreEmptive Analytics service as errors occur during their execution. The service then creates or updates work items in Microsoft Team Foundation Server based on rules and thresholds you define. |
|
|
PreEmptive Dotfuscator is a.NET obfuscator and compactor that helps protect programs against reverse engineering while making them smaller and more efficient. |
|
|
Profile Guided Optimization in the Performance and Diagnostics Hub |
The Profile Guided Optimization for Visual C++ plug-in uses user scenario training to build native apps that have the fastest, smallest code. |