Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Visual Studio 2013 reaches beyond the IDE

Martin Heller | Feb. 13, 2014
Microsoft delivers editing, debugging, deployment, project architecture, and ALM improvements stretching from Windows to Web development, from mobile devices to clouds

We've had IntelliTrace logs for desktop applications for years. When an error occurs, the application generates the log and typically asks the user to send it to the developers. The developers then match up the log with the symbols from the correct build and open the IntelliTrace log in Visual Studio to identify the problem.

In the past, production ASP.Net applications didn't do this, for scalability and performance reasons. Finding a bug that only occurred in production meant taking a performance hit for as long as it took to reproduce the problem, then reverting to release code once the bug was thought to be fixed.

Microsoft Monitoring Agents (MMA) changed that. Now you can run MMA on production websites full time, at least according to Microsoft. (If your site runs above 80 percent of memory or CPU utilization, I'd say all bets are off.) When an error event happens, the application will generate an IntelliTrace log file. These let you go to the code that caused the problem when you open them in Visual Studio 2013, just like they would for desktop applications.

Performance and diagnostics
The new Performance and Diagnostics hub in Visual Studio 2013 consolidates three existing tools — the CPU Sampling tool (for .Net or C++ apps), the JavaScript Function timing tool, and the Performance Wizard (for profiling of desktop and server apps such as executables and ASP.Net applications) — with four new tools: the Energy Consumption tool (for Windows 8.1 store apps, since they can run on low-powered tablets), the XAML UI Responsiveness tool (for XAML-based Windows Store applications), the HTML UI Responsiveness tool (for HTML/CSS/JavaScript-based Windows Store applications), and the JavaScript Memory tool (for HTML/CSS/JavaScript-based Windows Store applications). There is no Energy Consumption tool for Windows Phone applications as yet.

Energy consumption is a new consideration for desktop and server application developers, although it has been a driving concern for mobile application developers for years. If just one desktop developer learns to replace his busy-wait loops with async code while profiling Windows Store apps, the world will be a better place.

In other diagnostic news, heap analysis has been extended from C++ to .Net, and Just My Code debugging has been extended from .Net to C++ and JavaScript. In addition, if you install Visual Studio 2013 on Windows 8.1, you can see async continuations in the Call Stack window and async operations in the Tasks window.

Test-driven development
The improvements I discuss in this section were actually introduced in Visual Studio 2012 Ultimate, but I think they are important enough to include here.

Test-driven development (TDD) is near and dear to my heart, but I didn't used to be able to practice it on Microsoft code the way I could on Ruby code, though I was an early adopter of NUnit. What made TDD untenable for me was that IntelliSense would blindly autocomplete the names of stubs I hadn't yet written to some random but similar label.

 

Previous Page  1  2  3  4  5  6  7  8  Next Page 

Sign up for CIO Asia eNewsletters.