Last week, Microsoft launched Visual Studio 2015. It has a bunch of great new features, but I was surprised to see that after just a week I’m already starting to rely on a couple of them—and they’ve actually started helping me to be more productive.
Our Custom Software Development team got a bug back from the Quality Assurance team that looked at first glance like it might be a timeout caused by a performance issue. I was able to use some of the new Visual Studio features to quickly track down the source of the problem.
The first thing I did was set some break points in the part of the code where the bug was located. Thanks to the new Perf Tips feature, I could easily see how long it took to run from one break point to the next. In the past, I would have had to add some timing code just to get the same result. I continued to move break points around until I was able to narrow down the offending code to just a few lines. The total time I spent doing it was a fraction of what it would have taken me before.
Diagnostics and Intellitest
The next new tool I used was the Diagnostics window. When debugging, this window appears and displays information about CPU and Memory utilization. But more importantly for me, it shows information about the services calls that are made and the SQL queries that Entity Framework is running. Using this information, I was able to tell that there was a service call that was causing Entity Framework to repeatedly make time-consuming calls to the database.
With this information in hand, I knew that I needed to refactor the code. I had some unit tests in place already, but I wanted more. This would give me assurance that I would not be introducing any new bugs while improving the performance.
I used the new Intellitest feature to quickly generate some unit tests for the methods I was about to change. Now I had even more test coverage and was able to make changes with increased confidence.
We’re just beginning to see what all the new Visual Studio can do. Stay tuned for further updates as we learn more about how it works and what possibilities the new features open up for us.
Eric is a Microsoft MVP and Software Architect for Aptera Software in Fort Wayne Indiana, working primarily in the .Net platform. He has been developing high quality custom software solutions since 2001. He is also an adjunct professor of computer science at Indiana Tech. He loves to dabble in new and exciting technologies.